commit 195d6a9d7de32a10f24f41c428d7163ec00bfef1 Author: atratsevskiy Date: Tue Jun 9 15:26:22 2009 +0000 git-svn-id: http://svn.calculate.ru/calculate/trunk@1671 c91db197-33c1-4113-bf15-f8a5c547ca64 diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..863b786 --- /dev/null +++ b/COPYING @@ -0,0 +1,15 @@ + Calculate + Copyright (C) 2006-2009 Calculate Pack; http://www.calculate-linux.org + +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 . diff --git a/Change.log b/Change.log new file mode 100644 index 0000000..95dbda7 --- /dev/null +++ b/Change.log @@ -0,0 +1,37 @@ +CHANGE LOG + +1.0.4 +* Добавлен метод распознавания laptop через hal +* Добавлено корректное распознавание двух видеокарт, встречаемых в некоторых моделях ноутбуков. +* Добавлена переменная #-video_id-# - идентификатор PCI слота видеокарты. +* Добавлено сохранение времени в bios при завершении работы (опция была забыта при переходе на openrc). +* Исправлена установка времени при загрузке с livecd. + +1.0.3 +* Добавлена поддержка установки CLDX 9.6. +* Добавлена поддержка профиля desktop/server для CLD/CLDX и CDS систем соответственно. +* Изменен метод определения аутентификации в LDAP сервере. +* Добавлен вывод языка, раскладки и временной зоны при установке системы. + +1.0.2 +* Функции по вводу Calculate Linux Desktop в домен замаскированы для версий 9.6, т.к. полностью перенесены в calculate-client начиная с версии 2.0.17. +* Вместо grub теперь используется calcboot (на базе isolinux) для создания livecd образа. +* При загрузке Livecd вместо vesa по возможности включается nv, radeon либо intel. +* Исправлен метод обнаружения разрешения экрана. +* При переустановке десктопной версии системы, начиная с 9.5.1, сетевые ресурсы fstab.conf не переносятся. +* При настройке xorg.conf применяются проприетарные драйвера ATI и Nvidia только в случае если система CLD и загружена с жесткого диска. +* Добавлена переменная #-client-#, содержащая версию установленного пакета calculate-client. +* Добавлена поддержка условия ИЛИ (разделитель "?") в условном блоке профиля. +* Удалены неиспользуемые модули в профиле xorg.conf +* Добавлен перенос директории /usr/portage при установке системы при отсутствии портежей в новой системе. +* Добавлена поддержка блоков при наложении переменных из файла профиля, начинающегося на "~". Поддерживается только простой формат конфигурационных фалов вида "параметр значение". +* Добавлена проверка на совместимость с устанавливаемой версией системы. + +1.0.1 +* Добавлен CHANGE LOG файл. +* Добавлена тестовая поддержка сборки и установки CLDX (Calculate Linux Desktop XFCE). +* Изменен метод установки системы из ISO образа. +* Отключен перенос точек монтирования при установке системы на другой жесткий диск с авторазбиением разделов. +* Добавлена поддержка настройки драйверов nv и ati в случае отсутствия проприетарных драйверов в системе. +* Добавлена поддержка спящего режима в параметрах grub.conf. + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + 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/Makefile b/Makefile new file mode 100644 index 0000000..cd500c8 --- /dev/null +++ b/Makefile @@ -0,0 +1,16 @@ +INSTALL = install -D -m 644 +ECHO = echo +NAME = calculate +DESTDIR = +MKDIR = mkdir -p +FIND = find +CHMOD = chmod + +EXES = all + +all: + @${ECHO} -n + +install: all + @${FIND} install -wholename \*.svn -prune -o -type f -exec ${INSTALL} {} ${DESTDIR}/usr/${NAME}/{} \; + @${CHMOD} 755 ${DESTDIR}/usr/${NAME}/install/calculate diff --git a/install/builder/addition/CDS/develop/server_develop b/install/builder/addition/CDS/develop/server_develop new file mode 100644 index 0000000..d71c874 --- /dev/null +++ b/install/builder/addition/CDS/develop/server_develop @@ -0,0 +1,17 @@ +#------------------------------------------------------------------------------ +# Разработка ПО +#------------------------------------------------------------------------------ + +www-apps/bugzilla +media-gfx/graphviz +dev-perl/GDGraph +dev-perl/Template-GD +dev-perl/Email-Reply +dev-perl/HTML-Scrubber +dev-perl/XML-Twig +dev-perl/Chart +dev-perl/PatchReader +dev-perl/SOAP-Lite +dev-perl/DBD-Pg +dev-perl/Email-MIME-Attachment-Stripper + diff --git a/install/builder/addition/CDS/web/server_sql b/install/builder/addition/CDS/web/server_sql new file mode 100644 index 0000000..de4222e --- /dev/null +++ b/install/builder/addition/CDS/web/server_sql @@ -0,0 +1,13 @@ +#------------------------------------------------------------------------------ +# Сервер баз данных +#------------------------------------------------------------------------------ + +# PostgreSQL +dev-db/postgresql +dev-perl/DBD-Pg +dev-python/psycopg + +# MySQL +dev-db/mysql +dev-perl/DBD-mysql +dev-python/mysql-python diff --git a/install/builder/addition/CDS/web/server_web b/install/builder/addition/CDS/web/server_web new file mode 100644 index 0000000..df8d7d4 --- /dev/null +++ b/install/builder/addition/CDS/web/server_web @@ -0,0 +1,21 @@ +# Web-сервер + +app-dicts/ispell-ru +app-text/gocr +app-text/htmldoc #экспорт html в pdf в вики +dev-lang/php +dev-libs/geoip +dev-perl/Compress-Zlib +dev-perl/Crypt-Blowfish +dev-perl/crypt-cbc +dev-perl/GD +dev-perl/libwww-perl +dev-perl/Text-Iconv +dev-python/geoip-python +dev-python/mysql-python +dev-python/pythonmagick +dev-python/reportlab +media-gfx/imagemagick +www-apps/mediawiki +www-servers/apache + diff --git a/install/builder/addition/CDS/x/server_x b/install/builder/addition/CDS/x/server_x new file mode 100644 index 0000000..bc517b4 --- /dev/null +++ b/install/builder/addition/CDS/x/server_x @@ -0,0 +1,7 @@ +#------------------------------------------------------------------------------ +# Поддержка Xorg +#------------------------------------------------------------------------------ + +xorg-x11 +mplayer + diff --git a/install/builder/addition/CDS/x/x_drivers b/install/builder/addition/CDS/x/x_drivers new file mode 100644 index 0000000..cd41bba --- /dev/null +++ b/install/builder/addition/CDS/x/x_drivers @@ -0,0 +1,13 @@ +#------------------------------------------------------------------------------ +# Поддержка видеокарт +#------------------------------------------------------------------------------ + +#x11-drivers/ati-drivers +#x11-drivers/nvidia-drivers +x11-drivers/xf86-video-nv +x11-drivers/xf86-video-ati +x11-drivers/xf86-video-intel +x11-drivers/xf86-video-radeonhd +#x11-drivers/xf86-video-via +x11-drivers/xf86-video-sis + diff --git a/install/builder/addition/CLD/develop/desktop_developer b/install/builder/addition/CLD/develop/desktop_developer new file mode 100644 index 0000000..a5e99f1 --- /dev/null +++ b/install/builder/addition/CLD/develop/desktop_developer @@ -0,0 +1,13 @@ +#------------------------------------------------------------------------------ +# Инструменты разработчика +#------------------------------------------------------------------------------ + +app-editors/kxmleditor #редактор XML файлов +dev-lang/php +dev-python/ipython +dev-util/kdevelop #среда разработки программного обеспечения +dev-util/kdesvn +net-nds/luma +sys-devel/gdb #необходим для отображения протокола сбоя программы +#sys-devel/distcc + diff --git a/install/builder/addition/CLD/develop/desktop_edu b/install/builder/addition/CLD/develop/desktop_edu new file mode 100644 index 0000000..3502b89 --- /dev/null +++ b/install/builder/addition/CLD/develop/desktop_edu @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Программы для изучения +#------------------------------------------------------------------------------ + +dev-lang/fpc #Free Pascal компилятор + diff --git a/install/builder/addition/CLD/develop/desktop_emulation b/install/builder/addition/CLD/develop/desktop_emulation new file mode 100644 index 0000000..f8bacb6 --- /dev/null +++ b/install/builder/addition/CLD/develop/desktop_emulation @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Различные эмуляторы +#------------------------------------------------------------------------------ + +#app-emulation/virtualbox-bin #система виртуализации для Windows и др. + diff --git a/install/builder/addition/CLD/develop/desktop_sql b/install/builder/addition/CLD/develop/desktop_sql new file mode 100644 index 0000000..8d8be4b --- /dev/null +++ b/install/builder/addition/CLD/develop/desktop_sql @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Софт для работы с базами данных +#------------------------------------------------------------------------------ + +#dev-db/kpogre +#dev-db/myodbc +dev-db/pgadmin3 +#dev-db/unixODBC +#virtual/postgresql-base #Библиотеки доступа к PostgreSQL серверу + diff --git a/install/builder/addition/CLD/develop/server_sql b/install/builder/addition/CLD/develop/server_sql new file mode 100644 index 0000000..8cec0f8 --- /dev/null +++ b/install/builder/addition/CLD/develop/server_sql @@ -0,0 +1,7 @@ +#------------------------------------------------------------------------------ +# Сервер баз данных +#------------------------------------------------------------------------------ + +virtual/mysql +virtual/postgresql-server +dev-python/psycopg diff --git a/install/builder/addition/CLD/develop/server_web b/install/builder/addition/CLD/develop/server_web new file mode 100644 index 0000000..a488601 --- /dev/null +++ b/install/builder/addition/CLD/develop/server_web @@ -0,0 +1,5 @@ +#------------------------------------------------------------------------------ +# Web-сервер +#------------------------------------------------------------------------------ + +www-servers/apache diff --git a/install/builder/addition/CLD/games/games-action b/install/builder/addition/CLD/games/games-action new file mode 100644 index 0000000..6eb9adb --- /dev/null +++ b/install/builder/addition/CLD/games/games-action @@ -0,0 +1,5 @@ +#------------------------------------------------------------------------------ +# Игры +#------------------------------------------------------------------------------ + +games-action/openastromenace diff --git a/install/builder/addition/CLD/games/games-arcade b/install/builder/addition/CLD/games/games-arcade new file mode 100644 index 0000000..0f91a01 --- /dev/null +++ b/install/builder/addition/CLD/games/games-arcade @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Игры +#------------------------------------------------------------------------------ + +games-arcade/frozen-bubble +games-arcade/jumpnbump +games-arcade/lbreakout2 +games-arcade/pachi +games-arcade/supertux +games-arcade/xrick diff --git a/install/builder/addition/CLD/games/games-emulation b/install/builder/addition/CLD/games/games-emulation new file mode 100644 index 0000000..c351627 --- /dev/null +++ b/install/builder/addition/CLD/games/games-emulation @@ -0,0 +1,11 @@ +#------------------------------------------------------------------------------ +# Игровые эмуляторы, не вошедшие в CLD +#------------------------------------------------------------------------------ + +games-emulation/dosbox #эмулятор MS-DOS +#?unmask=~x86# + games-emulation/gens #эмулятор SEGA +#unmask# +games-emulation/fceultra #эмулятор NES (Dendy) +games-emulation/zsnes #эмулятор Super Nintendo + diff --git a/install/builder/addition/CLD/games/games-puzzle b/install/builder/addition/CLD/games/games-puzzle new file mode 100644 index 0000000..291ea62 --- /dev/null +++ b/install/builder/addition/CLD/games/games-puzzle @@ -0,0 +1,5 @@ +#------------------------------------------------------------------------------ +# Игры +#------------------------------------------------------------------------------ + +games-puzzle/toppler diff --git a/install/builder/addition/CLD/games/games-sports b/install/builder/addition/CLD/games/games-sports new file mode 100644 index 0000000..b235c5c --- /dev/null +++ b/install/builder/addition/CLD/games/games-sports @@ -0,0 +1,5 @@ +#------------------------------------------------------------------------------ +# Игры +#------------------------------------------------------------------------------ + +games-sports/xmoto diff --git a/install/builder/addition/CLD/games/games-strategy b/install/builder/addition/CLD/games/games-strategy new file mode 100644 index 0000000..f9c0a5e --- /dev/null +++ b/install/builder/addition/CLD/games/games-strategy @@ -0,0 +1,5 @@ +#------------------------------------------------------------------------------ +# Игры +#------------------------------------------------------------------------------ + +games-strategy/freeciv diff --git a/install/builder/addition/CLD/games/kde-base b/install/builder/addition/CLD/games/kde-base new file mode 100644 index 0000000..96d5a8a --- /dev/null +++ b/install/builder/addition/CLD/games/kde-base @@ -0,0 +1,35 @@ +#------------------------------------------------ +# kdegames - игры +#------------------------------------------------ +#kde-base/kasteroids +#kde-base/kbounce +#kde-base/kolf +#kde-base/atlantik +#kde-base/katomic +#kde-base/kbackgammon +#kde-base/kbattleship +#kde-base/kblackbox +#kde-base/kenolaba +#kde-base/kfouleggs +kde-base/kgoldrunner +#kde-base/kjumpingcube +#kde-base/klickety +#kde-base/klines +#kde-base/kmahjongg +kde-base/kmines +#kde-base/konquest +kde-base/kpat +#kde-base/kpoker +#kde-base/ktron +kde-base/ktuberling +#kde-base/ksame +#kde-base/kshisen +#kde-base/ksirtet +#kde-base/ksmiletris +#kde-base/ksnake +#kde-base/ksokoban +#kde-base/kspaceduel +#kde-base/kreversi +#kde-base/kwin4 +#kde-base/lskat + diff --git a/install/builder/addition/CLD/hacker/wireless b/install/builder/addition/CLD/hacker/wireless new file mode 100644 index 0000000..1342448 --- /dev/null +++ b/install/builder/addition/CLD/hacker/wireless @@ -0,0 +1,4 @@ +net-wireless/aircrack-ng #перехват, анализ и расшифровка пакетов +net-wireless/airtraf #отслеживает точки доступа, предоставляет статистику +net-wireless/kismet #сниффер и дешифратор пакетов + diff --git a/install/builder/addition/CLD/mediatools/desktop_audioedit b/install/builder/addition/CLD/mediatools/desktop_audioedit new file mode 100644 index 0000000..5075746 --- /dev/null +++ b/install/builder/addition/CLD/mediatools/desktop_audioedit @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Программы редактирования аудио +#------------------------------------------------------------------------------ + +dev-perl/XML-Twig #XML::Parser (нужен для rosegarden) +media-plugins/mac #Monkey Audio Codec (MAC linux port) +media-sound/audacity +media-sound/lilypond # создание музыкальных партитур (нужен для rosegarden) +media-sound/rosegarden + diff --git a/install/builder/addition/CLD/mediatools/desktop_videoedit b/install/builder/addition/CLD/mediatools/desktop_videoedit new file mode 100644 index 0000000..f192e33 --- /dev/null +++ b/install/builder/addition/CLD/mediatools/desktop_videoedit @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------ +# Программы видеомонтажа +#------------------------------------------------------------------------------ + +media-tv/tvtime +media-video/avidemux +media-video/cinelerra +media-video/devede +media-video/dvdrip +#media-video/kdenlive +media-video/kino +media-video/lives +media-video/mkvtoolnix #набор утилит для работы с Matroska +media-video/ogmrip #библиотека копирования и кодирования DVD в DivX/OGM файлы +#media-video/pitivi +media-video/qdvdauthor #создание DVD видео дисков +media-video/videotrans + diff --git a/install/builder/kernel/config?system=desktop&march=i686 b/install/builder/kernel/config?system=desktop&march=i686 new file mode 100644 index 0000000..7561c49 --- /dev/null +++ b/install/builder/kernel/config?system=desktop&march=i686 @@ -0,0 +1,2719 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28.10-calculate +# Tue May 26 18:42:59 2009 +# +# CONFIG_64BIT is not set +CONFIG_X86_32=y +# CONFIG_X86_64 is not set +CONFIG_X86=y +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" +CONFIG_GENERIC_TIME=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_FAST_CMPXCHG_LOCAL=y +CONFIG_MMU=y +CONFIG_ZONE_DMA=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +# CONFIG_GENERIC_TIME_VSYSCALL is not set +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ZONE_DMA32 is not set +CONFIG_ARCH_POPULATES_NODE_MAP=y +# CONFIG_AUDIT_ARCH is not set +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_X86_SMP=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_X86_32_SMP=y +CONFIG_X86_HT=y +CONFIG_X86_BIOS_REBOOT=y +CONFIG_X86_TRAMPOLINE=y +CONFIG_KTIME_SCALAR=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_LOCK_KERNEL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=15 +# CONFIG_CGROUPS is not set +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_GROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_USER_SCHED=y +# CONFIG_CGROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs " +CONFIG_INITRAMFS_ROOT_UID=0 +CONFIG_INITRAMFS_ROOT_GID=0 +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_PCSPKR_PLATFORM=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_PCI_QUIRKS=y +CONFIG_SLUB_DEBUG=y +CONFIG_COMPAT_BRK=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_STOP_MACHINE=y +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +CONFIG_FREEZER=y + +# +# Processor type and features +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ=y +# CONFIG_HIGH_RES_TIMERS is not set +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_SMP=y +CONFIG_X86_FIND_SMP_CONFIG=y +CONFIG_X86_MPPARSE=y +CONFIG_X86_PC=y +# CONFIG_X86_ELAN is not set +# CONFIG_X86_VOYAGER is not set +# CONFIG_X86_GENERICARCH is not set +# CONFIG_X86_VSMP is not set +# CONFIG_X86_RDC321X is not set +CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y +# CONFIG_PARAVIRT_GUEST is not set +# CONFIG_MEMTEST is not set +# CONFIG_M386 is not set +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586TSC is not set +# CONFIG_M586MMX is not set +CONFIG_M686=y +# CONFIG_MPENTIUMII is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUMM is not set +# CONFIG_MPENTIUM4 is not set +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +# CONFIG_MCRUSOE is not set +# CONFIG_MEFFICEON is not set +# CONFIG_MWINCHIPC6 is not set +# CONFIG_MWINCHIP3D is not set +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +# CONFIG_MCYRIXIII is not set +# CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set +# CONFIG_MPSC is not set +# CONFIG_MCORE2 is not set +# CONFIG_GENERIC_CPU is not set +# CONFIG_X86_GENERIC is not set +CONFIG_X86_CPU=y +CONFIG_X86_CMPXCHG=y +CONFIG_X86_L1_CACHE_SHIFT=5 +CONFIG_X86_XADD=y +CONFIG_X86_PPRO_FENCE=y +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_INVLPG=y +CONFIG_X86_BSWAP=y +CONFIG_X86_POPAD_OK=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +CONFIG_X86_TSC=y +CONFIG_X86_CMOV=y +CONFIG_X86_MINIMUM_CPU_FAMILY=4 +CONFIG_X86_DEBUGCTLMSR=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_CYRIX_32=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR_32=y +CONFIG_CPU_SUP_TRANSMETA_32=y +CONFIG_CPU_SUP_UMC_32=y +# CONFIG_X86_DS is not set +# CONFIG_HPET_TIMER is not set +CONFIG_DMI=y +# CONFIG_IOMMU_HELPER is not set +CONFIG_NR_CPUS=16 +CONFIG_SCHED_SMT=y +CONFIG_SCHED_MC=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +# CONFIG_PREEMPT is not set +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_MCE=y +CONFIG_X86_MCE_NONFATAL=y +# CONFIG_X86_MCE_P4THERMAL is not set +CONFIG_VM86=y +CONFIG_TOSHIBA=m +CONFIG_I8K=m +CONFIG_X86_REBOOTFIXUPS=y +CONFIG_MICROCODE=m +CONFIG_MICROCODE_INTEL=y +# CONFIG_MICROCODE_AMD is not set +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_X86_MSR=m +CONFIG_X86_CPUID=m +# CONFIG_NOHIGHMEM is not set +CONFIG_HIGHMEM4G=y +# CONFIG_HIGHMEM64G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_HIGHMEM=y +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_SPARSEMEM_STATIC=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_RESOURCES_64BIT=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +# CONFIG_HIGHPTE is not set +# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set +CONFIG_X86_RESERVE_LOW_64K=y +# CONFIG_MATH_EMULATION is not set +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +CONFIG_X86_PAT=y +CONFIG_EFI=y +CONFIG_SECCOMP=y +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=250 +# CONFIG_SCHED_HRTICK is not set +CONFIG_KEXEC=y +# CONFIG_CRASH_DUMP is not set +# CONFIG_KEXEC_JUMP is not set +CONFIG_PHYSICAL_START=0x100000 +# CONFIG_RELOCATABLE is not set +CONFIG_PHYSICAL_ALIGN=0x100000 +CONFIG_HOTPLUG_CPU=y +CONFIG_COMPAT_VDSO=y +# CONFIG_CMDLINE_BOOL is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y + +# +# Power management and ACPI options +# +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_SLEEP=y +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" +CONFIG_ACPI=y +CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_PROCFS=y +CONFIG_ACPI_PROCFS_POWER=y +CONFIG_ACPI_SYSFS_POWER=y +CONFIG_ACPI_PROC_EVENT=y +CONFIG_ACPI_AC=m +CONFIG_ACPI_BATTERY=m +CONFIG_ACPI_BUTTON=m +CONFIG_ACPI_FAN=m +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_PROCESSOR=m +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_THERMAL=m +CONFIG_ACPI_WMI=m +CONFIG_ACPI_ASUS=m +CONFIG_ACPI_TOSHIBA=m +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_BLACKLIST_YEAR=0 +# CONFIG_ACPI_DEBUG is not set +# CONFIG_ACPI_PCI_SLOT is not set +CONFIG_ACPI_SYSTEM=y +CONFIG_X86_PM_TIMER=y +CONFIG_ACPI_CONTAINER=m +CONFIG_ACPI_SBS=m +CONFIG_X86_APM_BOOT=y +CONFIG_APM=m +CONFIG_APM_IGNORE_USER_SUSPEND=y +CONFIG_APM_DO_ENABLE=y +CONFIG_APM_CPU_IDLE=y +CONFIG_APM_DISPLAY_BLANK=y +CONFIG_APM_ALLOW_INTS=y +CONFIG_APM_REAL_MODE_POWER_OFF=y + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=y +# CONFIG_CPU_FREQ_DEBUG is not set +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=m +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m + +# +# CPUFreq processor drivers +# +CONFIG_X86_ACPI_CPUFREQ=m +CONFIG_X86_POWERNOW_K6=m +CONFIG_X86_POWERNOW_K7=m +CONFIG_X86_POWERNOW_K7_ACPI=y +CONFIG_X86_POWERNOW_K8=m +CONFIG_X86_POWERNOW_K8_ACPI=y +# CONFIG_X86_GX_SUSPMOD is not set +CONFIG_X86_SPEEDSTEP_CENTRINO=m +CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y +CONFIG_X86_SPEEDSTEP_ICH=m +CONFIG_X86_SPEEDSTEP_SMI=m +CONFIG_X86_P4_CLOCKMOD=m +CONFIG_X86_CPUFREQ_NFORCE2=m +CONFIG_X86_LONGRUN=m +CONFIG_X86_LONGHAUL=m +CONFIG_X86_E_POWERSAVER=m + +# +# shared options +# +# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set +CONFIG_X86_SPEEDSTEP_LIB=m +# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y + +# +# Bus options (PCI etc.) +# +CONFIG_PCI=y +# CONFIG_PCI_GOBIOS is not set +# CONFIG_PCI_GOMMCONFIG is not set +# CONFIG_PCI_GODIRECT is not set +# CONFIG_PCI_GOOLPC is not set +CONFIG_PCI_GOANY=y +CONFIG_PCI_BIOS=y +CONFIG_PCI_DIRECT=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIEASPM is not set +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_PCI_MSI=y +CONFIG_PCI_LEGACY=y +CONFIG_HT_IRQ=y +CONFIG_ISA_DMA_API=y +# CONFIG_ISA is not set +# CONFIG_MCA is not set +# CONFIG_SCx200 is not set +# CONFIG_OLPC is not set +CONFIG_K8_NB=y +CONFIG_PCCARD=m +# CONFIG_PCMCIA_DEBUG is not set +CONFIG_PCMCIA=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_IOCTL=y +CONFIG_CARDBUS=y + +# +# PC-card bridges +# +CONFIG_YENTA=m +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_PD6729=m +CONFIG_I82092=m +CONFIG_PCCARD_NONSTATIC=m +# CONFIG_HOTPLUG_PCI is not set + +# +# Executable file formats / Emulations +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +CONFIG_BINFMT_AOUT=y +CONFIG_BINFMT_MISC=y +CONFIG_HAVE_ATOMIC_IOMAP=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_ASK_IP_FIB_HASH=y +# CONFIG_IP_FIB_TRIE is not set +CONFIG_IP_FIB_HASH=y +# CONFIG_IP_MULTIPLE_TABLES is not set +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +# CONFIG_IP_PNP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m +# CONFIG_NET_IPGRE_BROADCAST is not set +# CONFIG_IP_MROUTE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CT_PROTO_DCCP is not set +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +# CONFIG_NETFILTER_TPROXY is not set +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_IP_NF_QUEUE=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_ADDRTYPE=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_SIP=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set +CONFIG_NET_CLS_ROUTE=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIBTUSB=m +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIDTL1 is not set +# CONFIG_BT_HCIBT3C is not set +# CONFIG_BT_HCIBLUECARD is not set +# CONFIG_BT_HCIBTUART is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_PHONET is not set +CONFIG_WIRELESS=y +CONFIG_CFG80211=m +CONFIG_NL80211=y +CONFIG_WIRELESS_OLD_REGULATORY=y +CONFIG_WIRELESS_EXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_MAC80211=m + +# +# Rate control algorithm selection +# +CONFIG_MAC80211_RC_PID=y +# CONFIG_MAC80211_RC_MINSTREL is not set +CONFIG_MAC80211_RC_DEFAULT_PID=y +# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set +CONFIG_MAC80211_RC_DEFAULT="pid" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_IEEE80211=m +# CONFIG_IEEE80211_DEBUG is not set +CONFIG_IEEE80211_CRYPT_WEP=m +CONFIG_IEEE80211_CRYPT_CCMP=m +CONFIG_IEEE80211_CRYPT_TKIP=m +CONFIG_RFKILL=m +CONFIG_RFKILL_INPUT=m +CONFIG_RFKILL_LEDS=y +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y +# CONFIG_MTD is not set +CONFIG_PARPORT=y +CONFIG_PARPORT_PC=y +# CONFIG_PARPORT_SERIAL is not set +# CONFIG_PARPORT_PC_FIFO is not set +# CONFIG_PARPORT_PC_SUPERIO is not set +# CONFIG_PARPORT_PC_PCMCIA is not set +# CONFIG_PARPORT_GSC is not set +# CONFIG_PARPORT_AX88796 is not set +# CONFIG_PARPORT_1284 is not set +CONFIG_PNP=y +CONFIG_PNP_DEBUG_MESSAGES=y + +# +# Protocols +# +CONFIG_PNPACPI=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_FD=m +# CONFIG_PARIDE is not set +# CONFIG_BLK_CPQ_DA is not set +CONFIG_BLK_CPQ_CISS_DA=m +# CONFIG_CISS_SCSI_TAPE is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_BLK_DEV_XIP is not set +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_BLK_DEV_HD is not set +CONFIG_MISC_DEVICES=y +CONFIG_IBM_ASM=m +CONFIG_PHANTOM=m +CONFIG_EEPROM_93CX6=m +CONFIG_SGI_IOC4=m +CONFIG_TIFM_CORE=m +CONFIG_TIFM_7XX1=m +CONFIG_ACER_WMI=m +CONFIG_ASUS_LAPTOP=m +CONFIG_FUJITSU_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set +CONFIG_TC1100_WMI=m +# CONFIG_HP_WMI is not set +# CONFIG_ICS932S401 is not set +CONFIG_MSI_LAPTOP=m +# CONFIG_PANASONIC_LAPTOP is not set +# CONFIG_COMPAL_LAPTOP is not set +CONFIG_SONY_LAPTOP=m +CONFIG_SONYPI_COMPAT=y +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_DEBUG=y +CONFIG_THINKPAD_ACPI_BAY=y +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +CONFIG_INTEL_MENLOW=m +CONFIG_EEEPC_LAPTOP=m +CONFIG_ENCLOSURE_SERVICES=m +# CONFIG_HP_ILO is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_RAID_ATTRS=m +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +CONFIG_SCSI_TGT=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SR_VENDOR=y +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_ENCLOSURE is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_FC_TGT_ATTRS is not set +CONFIG_SCSI_ISCSI_ATTRS=m +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_LIBSAS=m +# CONFIG_SCSI_SAS_ATA is not set +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SAS_LIBSAS_DEBUG=y +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +CONFIG_ISCSI_TCP=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 +CONFIG_AIC7XXX_RESET_DELAY_MS=5000 +# CONFIG_AIC7XXX_DEBUG_ENABLE is not set +CONFIG_AIC7XXX_DEBUG_MASK=0 +# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set +CONFIG_SCSI_AIC7XXX_OLD=m +CONFIG_SCSI_AIC79XX=m +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_RESET_DELAY_MS=5000 +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +CONFIG_SCSI_AIC94XX=m +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_ARCMSR_AER=y +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_SAS=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_BUSLOGIC=m +# CONFIG_SCSI_FLASHPOINT is not set +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_EATA=m +CONFIG_SCSI_EATA_TAGGED_QUEUE=y +CONFIG_SCSI_EATA_LINKED_COMMANDS=y +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_IMM=m +CONFIG_SCSI_IZIP_EPP16=y +CONFIG_SCSI_IZIP_SLOW_CTR=y +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_IPR=m +CONFIG_SCSI_IPR_TRACE=y +CONFIG_SCSI_IPR_DUMP=y +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_LPFC=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DC390T=m +CONFIG_SCSI_NSP32=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_SRP=m +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set +# CONFIG_SCSI_DH is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_ACPI=y +CONFIG_SATA_PMP=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_SIL24=m +CONFIG_ATA_SFF=y +CONFIG_SATA_SVW=m +CONFIG_ATA_PIIX=y +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_PDC_ADMA=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_PROMISE=m +CONFIG_SATA_SX4=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIS=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m +CONFIG_SATA_INIC162X=m +CONFIG_PATA_ACPI=m +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CS5520=m +CONFIG_PATA_CS5530=m +CONFIG_PATA_CS5535=m +CONFIG_PATA_CS5536=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_ATA_GENERIC=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +CONFIG_PATA_HPT3X3_DMA=y +CONFIG_PATA_IT821X=m +CONFIG_PATA_IT8213=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_MARVELL=m +CONFIG_PATA_MPIIX=y +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RZ1000=m +CONFIG_PATA_SC1200=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_SIS=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PATA_SCH=m +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +CONFIG_MD_RAID5_RESHAPE=y +# CONFIG_MD_MULTIPATH is not set +# CONFIG_MD_FAULTY is not set +# CONFIG_BLK_DEV_DM is not set +CONFIG_FUSION=y +CONFIG_FUSION_SPI=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_SAS=m +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_CTL=m +# CONFIG_FUSION_LOGGING is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# Enable only one of the two stacks, unless you know what you are doing +# +# CONFIG_FIREWIRE is not set +CONFIG_IEEE1394=m +CONFIG_IEEE1394_OHCI1394=m +CONFIG_IEEE1394_PCILYNX=m +CONFIG_IEEE1394_SBP2=m +# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set +# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set +# CONFIG_IEEE1394_ETH1394 is not set +CONFIG_IEEE1394_RAWIO=m +CONFIG_IEEE1394_VIDEO1394=m +# CONFIG_IEEE1394_DV1394 is not set +# CONFIG_IEEE1394_VERBOSEDEBUG is not set +# CONFIG_I2O is not set +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MAC_EMUMOUSEBTN=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=m +CONFIG_BONDING=m +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_NET_SB1000 is not set +# CONFIG_ARCNET is not set +CONFIG_PHYLIB=m + +# +# MII PHY device drivers +# +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_MDIO_BITBANG is not set +CONFIG_NET_ETHERNET=y +CONFIG_MII=m +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +CONFIG_CASSINI=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +# CONFIG_NET_TULIP is not set +# CONFIG_HP100 is not set +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set +CONFIG_NET_PCI=y +CONFIG_PCNET32=m +# CONFIG_AMD8111_ETH is not set +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +CONFIG_FORCEDETH=m +# CONFIG_FORCEDETH_NAPI is not set +# CONFIG_EEPRO100 is not set +CONFIG_E100=m +CONFIG_FEALNX=m +CONFIG_NATSEMI=m +CONFIG_NE2K_PCI=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_PIO=y +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R6040=m +CONFIG_SIS900=m +CONFIG_EPIC100=m +CONFIG_SUNDANCE=m +CONFIG_SUNDANCE_MMIO=y +CONFIG_TLAN=m +CONFIG_VIA_RHINE=m +CONFIG_VIA_RHINE_MMIO=y +CONFIG_SC92031=m +CONFIG_NET_POCKET=y +CONFIG_ATP=m +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_ATL2=m +CONFIG_NETDEV_1000=y +CONFIG_ACENIC=m +CONFIG_ACENIC_OMIT_TIGON_I=y +CONFIG_DL2K=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IP1000=m +CONFIG_IGB=m +# CONFIG_IGB_LRO is not set +CONFIG_NS83820=m +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_R8169=m +CONFIG_SIS190=m +CONFIG_SKGE=m +CONFIG_SKY2=m +CONFIG_VIA_VELOCITY=m +CONFIG_TIGON3=m +CONFIG_BNX2=m +CONFIG_QLA3XXX=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_JME=m +CONFIG_NETDEV_10000=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_ENIC is not set +# CONFIG_IXGBE is not set +# CONFIG_IXGB is not set +# CONFIG_S2IO is not set +# CONFIG_MYRI10GE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_NIU is not set +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_TEHUTI is not set +# CONFIG_BNX2X is not set +# CONFIG_QLGE is not set +# CONFIG_SFC is not set +# CONFIG_TR is not set + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +CONFIG_WLAN_80211=y +CONFIG_PCMCIA_RAYCS=m +CONFIG_IPW2100=m +CONFIG_IPW2100_MONITOR=y +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2200=m +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +# CONFIG_IPW2200_DEBUG is not set +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_CS=m +CONFIG_LIBERTAS_SDIO=m +# CONFIG_LIBERTAS_DEBUG is not set +# CONFIG_LIBERTAS_THINFIRM is not set +CONFIG_AIRO=m +CONFIG_HERMES=m +CONFIG_PLX_HERMES=m +CONFIG_TMD_HERMES=m +CONFIG_NORTEL_HERMES=m +CONFIG_PCI_HERMES=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_ATMEL=m +CONFIG_PCI_ATMEL=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_AIRO_CS=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PRISM54=m +CONFIG_USB_ZD1201=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_ADM8211=m +# CONFIG_MAC80211_HWSIM is not set +CONFIG_P54_COMMON=m +CONFIG_P54_USB=m +CONFIG_P54_PCI=m +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +CONFIG_ATH9K=m +CONFIG_IWLWIFI=m +CONFIG_IWLCORE=m +CONFIG_IWLWIFI_LEDS=y +CONFIG_IWLWIFI_RFKILL=y +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLAGN=m +CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y +CONFIG_IWLAGN_LEDS=y +CONFIG_IWL4965=y +CONFIG_IWL5000=y +CONFIG_IWL3945=m +CONFIG_IWL3945_RFKILL=y +CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y +CONFIG_IWL3945_LEDS=y +# CONFIG_IWL3945_DEBUG is not set +CONFIG_HOSTAP=m +CONFIG_HOSTAP_FIRMWARE=y +CONFIG_HOSTAP_FIRMWARE_NVRAM=y +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_CS=m +CONFIG_B43=m +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCMCIA=y +CONFIG_B43_PIO=y +CONFIG_B43_LEDS=y +CONFIG_B43_RFKILL=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_RFKILL=y +CONFIG_B43LEGACY_DEBUG=y +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_RT2X00=m +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT61PCI=m +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_RFKILL=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_HSO=m +CONFIG_NET_PCMCIA=y +CONFIG_PCMCIA_3C589=m +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_PCNET=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_XIRC2PS=m +CONFIG_PCMCIA_AXNET=m +# CONFIG_WAN is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +# CONFIG_PLIP is not set +CONFIG_PPP=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_MPPE=m +CONFIG_PPPOE=m +CONFIG_PPPOL2TP=m +CONFIG_SLIP=m +# CONFIG_SLIP_COMPRESSED is not set +CONFIG_SLHC=y +# CONFIG_SLIP_SMART is not set +# CONFIG_SLIP_MODE_SLIP6 is not set +# CONFIG_NET_FC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_POLLDEV=m + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_USB=y +CONFIG_JOYSTICK_IFORCE_232=y +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +CONFIG_INPUT_PCSPKR=y +# CONFIG_INPUT_APANEL is not set +# CONFIG_INPUT_WISTRON_BTNS is not set +# CONFIG_INPUT_ATLAS_BTNS is not set +# CONFIG_INPUT_ATI_REMOTE is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYSPAN_REMOTE is not set +# CONFIG_INPUT_POWERMATE is not set +# CONFIG_INPUT_YEALINK is not set +# CONFIG_INPUT_CM109 is not set +CONFIG_INPUT_UINPUT=m + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=m +# CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_PARKBD is not set +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +CONFIG_GAMEPORT=m +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +CONFIG_GAMEPORT_EMU10K1=m +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +CONFIG_SERIAL_NONSTANDARD=y +# CONFIG_COMPUTONE is not set +# CONFIG_ROCKETPORT is not set +# CONFIG_CYCLADES is not set +# CONFIG_DIGIEPCA is not set +# CONFIG_MOXA_INTELLIO is not set +# CONFIG_MOXA_SMARTIO is not set +# CONFIG_ISI is not set +# CONFIG_SYNCLINK is not set +# CONFIG_SYNCLINKMP is not set +# CONFIG_SYNCLINK_GT is not set +# CONFIG_N_HDLC is not set +# CONFIG_RISCOM8 is not set +# CONFIG_SPECIALIX is not set +# CONFIG_SX is not set +# CONFIG_RIO is not set +# CONFIG_STALDRV is not set +# CONFIG_NOZOMI is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_PNP=y +# CONFIG_SERIAL_8250_CS is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_CORE=y +# CONFIG_SERIAL_JSM is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_PRINTER=y +# CONFIG_LP_CONSOLE is not set +# CONFIG_PPDEV is not set +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_AMD=m +CONFIG_HW_RANDOM_GEODE=m +CONFIG_HW_RANDOM_VIA=m +CONFIG_NVRAM=m +CONFIG_RTC=y +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_SONYPI is not set + +# +# PCMCIA character devices +# +# CONFIG_SYNCLINK_CS is not set +# CONFIG_CARDMAN_4000 is not set +# CONFIG_CARDMAN_4040 is not set +# CONFIG_IPWIRELESS is not set +CONFIG_MWAVE=m +# CONFIG_PC8736x_GPIO is not set +# CONFIG_NSC_GPIO is not set +# CONFIG_CS5535_GPIO is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_HPET is not set +# CONFIG_HANGCHECK_TIMER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_TELCLOCK is not set +CONFIG_DEVPORT=y +CONFIG_I2C=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOBIT=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Graphics adapter I2C/DDC channel drivers +# +# CONFIG_I2C_VOODOO3 is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set +# CONFIG_SCx200_ACB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +# CONFIG_AT24 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +# CONFIG_GPIOLIB is not set +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_BATTERY_DS2760 is not set +# CONFIG_BATTERY_BQ27x00 is not set +CONFIG_HWMON=m +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_ABITUGURU is not set +# CONFIG_SENSORS_ABITUGURU3 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_K8TEMP is not set +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_I5K_AMB is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_FSCHER is not set +# CONFIG_SENSORS_FSCPOS is not set +# CONFIG_SENSORS_FSCHMD is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_CORETEMP is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_VT8231 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_SENSORS_HDAPS is not set +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_SENSORS_APPLESMC is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_THERMAL=y +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB=m +CONFIG_SSB_SPROM=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_PCMCIAHOST=y +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_REGULATOR is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_ALLOW_V4L1=y +CONFIG_VIDEO_V4L1_COMPAT=y +# CONFIG_DVB_CORE is not set +CONFIG_VIDEO_MEDIA=m + +# +# Multimedia drivers +# +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +# CONFIG_MEDIA_ATTACH is not set +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L1=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEO_BTCX=m +CONFIG_VIDEO_IR=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TDA9875=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_VP27SMPX=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA7111=m +CONFIG_VIDEO_SAA7114=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_VPX3220=m +CONFIG_VIDEO_CX25840=m +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m +CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_SAA6588=m +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_CPIA=m +CONFIG_VIDEO_CPIA_USB=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_SAA5246A=m +CONFIG_VIDEO_SAA5249=m +CONFIG_VIDEO_STRADIS=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_FB_IVTV=m +CONFIG_VIDEO_CAFE_CCIC=m +# CONFIG_SOC_CAMERA is not set +CONFIG_V4L_USB_DRIVERS=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +# CONFIG_USB_GSPCA is not set +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_USBVIDEO=m +CONFIG_USB_VICAM=m +CONFIG_USB_IBMCAM=m +CONFIG_USB_KONICAWC=m +CONFIG_USB_QUICKCAM_MESSENGER=m +CONFIG_USB_ET61X251=m +CONFIG_VIDEO_OVCAMCHIP=m +CONFIG_USB_W9968CF=m +CONFIG_USB_OV511=m +CONFIG_USB_SE401=m +CONFIG_USB_SN9C102=m +CONFIG_USB_STV680=m +CONFIG_USB_ZC0301=m +CONFIG_USB_PWC=m +CONFIG_USB_PWC_DEBUG=y +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +# CONFIG_USB_S2255 is not set +# CONFIG_RADIO_ADAPTERS is not set +# CONFIG_DAB is not set + +# +# Graphics support +# +CONFIG_AGP=y +# CONFIG_AGP_ALI is not set +CONFIG_AGP_ATI=m +CONFIG_AGP_AMD=m +CONFIG_AGP_AMD64=m +CONFIG_AGP_INTEL=m +CONFIG_AGP_NVIDIA=m +CONFIG_AGP_SIS=m +# CONFIG_AGP_SWORKS is not set +CONFIG_AGP_VIA=m +# CONFIG_AGP_EFFICEON is not set +CONFIG_DRM=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_I810=m +CONFIG_DRM_I830=m +CONFIG_DRM_I915=m +CONFIG_DRM_MGA=m +CONFIG_DRM_SIS=m +CONFIG_DRM_VIA=m +CONFIG_DRM_SAVAGE=m +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +CONFIG_FB_MODE_HELPERS=y +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ARC is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_VGA16 is not set +CONFIG_FB_UVESA=y +# CONFIG_FB_VESA is not set +# CONFIG_FB_EFI is not set +# CONFIG_FB_N411 is not set +# CONFIG_FB_HGA is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I810 is not set +# CONFIG_FB_LE80578 is not set +# CONFIG_FB_INTEL is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_CYBLA is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_GEODE is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_PLATFORM is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +# CONFIG_BACKLIGHT_CORGI is not set +# CONFIG_BACKLIGHT_PROGEAR is not set +# CONFIG_BACKLIGHT_MBP_NVIDIA is not set +# CONFIG_BACKLIGHT_SAHARA is not set + +# +# Display device support +# +CONFIG_DISPLAY_SUPPORT=m + +# +# Display hardware drivers +# + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FB_CON_DECOR=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +# CONFIG_LOGO is not set +CONFIG_SOUND=y +CONFIG_SOUND_OSS_CORE=y +CONFIG_SND=m +CONFIG_SND_TIMER=m +CONFIG_SND_PCM=m +CONFIG_SND_HWDEP=m +CONFIG_SND_RAWMIDI=m +CONFIG_SND_SEQUENCER=m +# CONFIG_SND_SEQ_DUMMY is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +# CONFIG_SND_SEQUENCER_OSS is not set +# CONFIG_SND_RTCTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +# CONFIG_SND_SUPPORT_OLD_API is not set +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +CONFIG_SND_MPU401_UART=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_VIRMIDI is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_MTS64 is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +# CONFIG_SND_PORTMAN2X4 is not set +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SB16_DSP=m +CONFIG_SND_PCI=y +CONFIG_SND_AD1889=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +CONFIG_SND_BT87X_OVERCLOCK=y +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_OXYGEN=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CS5530=m +CONFIG_SND_CS5535AUDIO=m +CONFIG_SND_DARLA20=m +CONFIG_SND_GINA20=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_DARLA24=m +CONFIG_SND_GINA24=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_MONA=m +CONFIG_SND_MIA=m +CONFIG_SND_ECHO3G=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_FM801_TEA575X=m +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_HWDEP=y +# CONFIG_SND_HDA_INPUT_BEEP is not set +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_CODEC_ATIHDMI=y +CONFIG_SND_HDA_CODEC_NVHDMI=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_POWER_SAVE=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HIFIER=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_KORG1212=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +CONFIG_SND_PCXHR=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SIS7019=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VX222=m +CONFIG_SND_YMFPCI=m +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=m +# CONFIG_SND_USB_USX2Y is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_US122L is not set +CONFIG_SND_PCMCIA=y +# CONFIG_SND_VXPOCKET is not set +# CONFIG_SND_PDAUDIOCF is not set +# CONFIG_SND_SOC is not set +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +# CONFIG_HID_DEBUG is not set +# CONFIG_HIDRAW is not set + +# +# USB Input Devices +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# Special HID drivers +# +CONFIG_HID_COMPAT=y +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_BRIGHT=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DELL=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +# CONFIG_THRUSTMASTER_FF is not set +# CONFIG_ZEROPLUS_FF is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_SUSPEND=y +# CONFIG_USB_OTG is not set +CONFIG_USB_MON=y +# CONFIG_USB_WUSB is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +# CONFIG_USB_EHCI_TT_NEWSCHED is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1760_HCD is not set +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_OHCI_HCD_SSB is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_UHCI_HCD=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_WHCI_HCD is not set +# CONFIG_USB_HWA_HCD is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# + +# +# see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_USS720 is not set +CONFIG_USB_SERIAL=m +CONFIG_USB_EZUSB=y +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP2101=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MOTOROLA=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_HP4X=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_DEBUG=m + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +CONFIG_USB_GADGET=m +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +CONFIG_USB_GADGET_M66592=y +CONFIG_USB_M66592=m +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_ZERO is not set +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_UWB is not set +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=m +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_WBSD=m +CONFIG_MMC_TIFM_SD=m +# CONFIG_MMC_SDRICOH_CS is not set +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set + +# +# MemoryStick drivers +# +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MSPRO_BLOCK=m + +# +# MemoryStick Host Controller Drivers +# +CONFIG_MEMSTICK_TIFM_MS=m +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=m + +# +# LED drivers +# +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_HP_DISK is not set +# CONFIG_LEDS_CLEVO_MAIL is not set +# CONFIG_LEDS_PCA955X is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +# CONFIG_EDAC is not set +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_STAGING is not set + +# +# Firmware Drivers +# +# CONFIG_EDD is not set +CONFIG_FIRMWARE_MEMMAP=y +# CONFIG_EFI_VARS is not set +# CONFIG_DELL_RBU is not set +# CONFIG_DCDBAS is not set +CONFIG_DMIID=y +# CONFIG_ISCSI_IBFT_FIND is not set + +# +# File systems +# +CONFIG_EXT2_FS=m +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT2_FS_XIP=y +CONFIG_EXT3_FS=m +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=m +# CONFIG_EXT4DEV_COMPAT is not set +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_FS_XIP=y +CONFIG_JBD=m +CONFIG_JBD2=m +CONFIG_FS_MBCACHE=m +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_DEBUG is not set +# CONFIG_OCFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_QUOTACTL=y +# CONFIG_AUTOFS_FS is not set +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=m + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=866 +CONFIG_FAT_DEFAULT_IOCHARSET="utf8" +CONFIG_NTFS_FS=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLBFS is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Layered filesystems +# +# CONFIG_ECRYPT_FS is not set +CONFIG_UNION_FS=m +CONFIG_UNION_FS_XATTR=y +# CONFIG_UNION_FS_DEBUG is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +CONFIG_NFSD=m +CONFIG_NFSD_V3=y +# CONFIG_NFSD_V3_ACL is not set +# CONFIG_NFSD_V4 is not set +CONFIG_LOCKD=m +CONFIG_LOCKD_V4=y +CONFIG_EXPORTFS=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=m +CONFIG_SUNRPC_GSS=m +# CONFIG_SUNRPC_REGISTER_V4 is not set +CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPCSEC_GSS_SPKM3 is not set +CONFIG_SMB_FS=m +CONFIG_SMB_NLS_DEFAULT=y +CONFIG_SMB_NLS_REMOTE="cp866" +CONFIG_CIFS=m +CONFIG_CIFS_STATS=y +# CONFIG_CIFS_STATS2 is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_UPCALL is not set +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_DEBUG2 is not set +CONFIG_CIFS_EXPERIMENTAL=y +# CONFIG_CIFS_DFS_UPCALL is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=m +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=m +# CONFIG_NLS_CODEPAGE_852 is not set +CONFIG_NLS_CODEPAGE_855=m +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +CONFIG_NLS_CODEPAGE_866=m +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=m +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +CONFIG_NLS_ISO8859_5=m +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_UTF8=m +# CONFIG_DLM is not set + +# +# Kernel hacking +# +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +# CONFIG_PRINTK_TIME is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_KERNEL is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y + +# +# Tracers +# +# CONFIG_SYSPROF_TRACER is not set +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_X86_VERBOSE_BOOTUP=y +CONFIG_EARLY_PRINTK=y +# CONFIG_EARLY_PRINTK_DBGP is not set +# CONFIG_4KSTACKS is not set +CONFIG_DOUBLEFAULT=y +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_0X80=y +# CONFIG_IO_DELAY_0XED is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_DELAY_NONE is not set +CONFIG_DEFAULT_IO_DELAY_TYPE=0 +# CONFIG_OPTIMIZE_INLINING is not set + +# +# Security options +# +CONFIG_KEYS=y +CONFIG_KEYS_DEBUG_PROC_KEYS=y +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_XOR_BLOCKS=m +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_XOR=m +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_FIPS is not set +CONFIG_CRYPTO_ALGAPI=m +CONFIG_CRYPTO_ALGAPI2=m +CONFIG_CRYPTO_AEAD2=m +CONFIG_CRYPTO_BLKCIPHER=m +CONFIG_CRYPTO_BLKCIPHER2=m +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_HASH2=m +CONFIG_CRYPTO_RNG2=m +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=m +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +CONFIG_CRYPTO_CBC=m +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=m +# CONFIG_CRYPTO_LRW is not set +CONFIG_CRYPTO_PCBC=m +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=m +# CONFIG_CRYPTO_CRC32C_INTEL is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MICHAEL_MIC=m +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_AES_586=m +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=m +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SALSA20_586 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_TWOFISH_586 is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=m +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_PADLOCK is not set +CONFIG_CRYPTO_DEV_GEODE=m +# CONFIG_CRYPTO_DEV_HIFN_795X is not set +CONFIG_HAVE_KVM=y +# CONFIG_VIRTUALIZATION is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_FIND_NEXT_BIT=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=m +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_CHECK_SIGNATURE=y diff --git a/install/builder/kernel/config?system=desktop&march=x86_64 b/install/builder/kernel/config?system=desktop&march=x86_64 new file mode 100644 index 0000000..ac3fdef --- /dev/null +++ b/install/builder/kernel/config?system=desktop&march=x86_64 @@ -0,0 +1,2676 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28.10-calculate +# Tue May 26 18:43:39 2009 +# +CONFIG_64BIT=y +# CONFIG_X86_32 is not set +CONFIG_X86_64=y +CONFIG_X86=y +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +CONFIG_GENERIC_TIME=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_FAST_CMPXCHG_LOCAL=y +CONFIG_MMU=y +CONFIG_ZONE_DMA=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ZONE_DMA32=y +CONFIG_ARCH_POPULATES_NODE_MAP=y +CONFIG_AUDIT_ARCH=y +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_X86_SMP=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_X86_64_SMP=y +CONFIG_X86_HT=y +CONFIG_X86_BIOS_REBOOT=y +CONFIG_X86_TRAMPOLINE=y +# CONFIG_KTIME_SCALAR is not set +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_LOCK_KERNEL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=18 +# CONFIG_CGROUPS is not set +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_GROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_USER_SCHED=y +# CONFIG_CGROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs " +CONFIG_INITRAMFS_ROOT_UID=0 +CONFIG_INITRAMFS_ROOT_GID=0 +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_PCSPKR_PLATFORM=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_PCI_QUIRKS=y +CONFIG_SLUB_DEBUG=y +CONFIG_COMPAT_BRK=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_STOP_MACHINE=y +CONFIG_BLOCK=y +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLOCK_COMPAT=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +CONFIG_FREEZER=y + +# +# Processor type and features +# +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_SMP=y +CONFIG_X86_FIND_SMP_CONFIG=y +CONFIG_X86_MPPARSE=y +CONFIG_X86_PC=y +# CONFIG_X86_ELAN is not set +# CONFIG_X86_VOYAGER is not set +# CONFIG_X86_GENERICARCH is not set +# CONFIG_X86_VSMP is not set +# CONFIG_PARAVIRT_GUEST is not set +# CONFIG_MEMTEST is not set +# CONFIG_M386 is not set +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586TSC is not set +# CONFIG_M586MMX is not set +# CONFIG_M686 is not set +# CONFIG_MPENTIUMII is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUMM is not set +# CONFIG_MPENTIUM4 is not set +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +# CONFIG_MCRUSOE is not set +# CONFIG_MEFFICEON is not set +# CONFIG_MWINCHIPC6 is not set +# CONFIG_MWINCHIP3D is not set +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +# CONFIG_MCYRIXIII is not set +# CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set +# CONFIG_MPSC is not set +# CONFIG_MCORE2 is not set +CONFIG_GENERIC_CPU=y +CONFIG_X86_CPU=y +CONFIG_X86_L1_CACHE_BYTES=128 +CONFIG_X86_INTERNODE_CACHE_BYTES=128 +CONFIG_X86_CMPXCHG=y +CONFIG_X86_L1_CACHE_SHIFT=7 +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_TSC=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_CMOV=y +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_DEBUGCTLMSR=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR_64=y +# CONFIG_X86_DS is not set +CONFIG_HPET_TIMER=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_DMI=y +CONFIG_GART_IOMMU=y +# CONFIG_CALGARY_IOMMU is not set +# CONFIG_AMD_IOMMU is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +CONFIG_NR_CPUS=16 +CONFIG_SCHED_SMT=y +CONFIG_SCHED_MC=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +# CONFIG_PREEMPT is not set +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_MCE=y +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_AMD=y +CONFIG_I8K=m +CONFIG_MICROCODE=m +CONFIG_MICROCODE_INTEL=y +# CONFIG_MICROCODE_AMD is not set +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_X86_MSR=m +CONFIG_X86_CPUID=m +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_NUMA=y +CONFIG_K8_NUMA=y +CONFIG_X86_64_ACPI_NUMA=y +CONFIG_NODES_SPAN_OTHER_NODES=y +CONFIG_NUMA_EMU=y +CONFIG_NODES_SHIFT=6 +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_SELECT_MEMORY_MODEL=y +# CONFIG_FLATMEM_MANUAL is not set +# CONFIG_DISCONTIGMEM_MANUAL is not set +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_VMEMMAP=y + +# +# Memory hotplug is currently incompatible with Software Suspend +# +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_MIGRATION=y +CONFIG_RESOURCES_64BIT=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set +CONFIG_X86_RESERVE_LOW_64K=y +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +CONFIG_X86_PAT=y +# CONFIG_EFI is not set +CONFIG_SECCOMP=y +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +CONFIG_HZ_1000=y +CONFIG_HZ=1000 +# CONFIG_SCHED_HRTICK is not set +CONFIG_KEXEC=y +# CONFIG_CRASH_DUMP is not set +CONFIG_PHYSICAL_START=0x200000 +CONFIG_RELOCATABLE=y +CONFIG_PHYSICAL_ALIGN=0x200000 +CONFIG_HOTPLUG_CPU=y +CONFIG_COMPAT_VDSO=y +# CONFIG_CMDLINE_BOOL is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y + +# +# Power management and ACPI options +# +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_SLEEP=y +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" +CONFIG_ACPI=y +CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_PROCFS=y +CONFIG_ACPI_PROCFS_POWER=y +CONFIG_ACPI_SYSFS_POWER=y +CONFIG_ACPI_PROC_EVENT=y +CONFIG_ACPI_AC=m +CONFIG_ACPI_BATTERY=m +CONFIG_ACPI_BUTTON=m +CONFIG_ACPI_FAN=m +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_PROCESSOR=m +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_THERMAL=m +CONFIG_ACPI_NUMA=y +CONFIG_ACPI_WMI=m +CONFIG_ACPI_ASUS=m +CONFIG_ACPI_TOSHIBA=m +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_BLACKLIST_YEAR=0 +# CONFIG_ACPI_DEBUG is not set +# CONFIG_ACPI_PCI_SLOT is not set +CONFIG_ACPI_SYSTEM=y +CONFIG_X86_PM_TIMER=y +CONFIG_ACPI_CONTAINER=m +CONFIG_ACPI_SBS=m + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=y +# CONFIG_CPU_FREQ_DEBUG is not set +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=m +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m + +# +# CPUFreq processor drivers +# +CONFIG_X86_ACPI_CPUFREQ=m +CONFIG_X86_POWERNOW_K8=m +CONFIG_X86_POWERNOW_K8_ACPI=y +CONFIG_X86_SPEEDSTEP_CENTRINO=m +CONFIG_X86_P4_CLOCKMOD=m + +# +# shared options +# +CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y + +# +# Memory power savings +# +# CONFIG_I7300_IDLE is not set + +# +# Bus options (PCI etc.) +# +CONFIG_PCI=y +CONFIG_PCI_DIRECT=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_DOMAINS=y +# CONFIG_DMAR is not set +# CONFIG_INTR_REMAP is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIEASPM is not set +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_PCI_MSI=y +CONFIG_PCI_LEGACY=y +CONFIG_HT_IRQ=y +CONFIG_ISA_DMA_API=y +CONFIG_K8_NB=y +CONFIG_PCCARD=m +# CONFIG_PCMCIA_DEBUG is not set +CONFIG_PCMCIA=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_IOCTL=y +CONFIG_CARDBUS=y + +# +# PC-card bridges +# +CONFIG_YENTA=m +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_PD6729=m +CONFIG_I82092=m +CONFIG_PCCARD_NONSTATIC=m +# CONFIG_HOTPLUG_PCI is not set + +# +# Executable file formats / Emulations +# +CONFIG_BINFMT_ELF=y +CONFIG_COMPAT_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +# CONFIG_HAVE_AOUT is not set +CONFIG_BINFMT_MISC=y +CONFIG_IA32_EMULATION=y +CONFIG_IA32_AOUT=y +CONFIG_COMPAT=y +CONFIG_COMPAT_FOR_U64_ALIGNMENT=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_ASK_IP_FIB_HASH=y +# CONFIG_IP_FIB_TRIE is not set +CONFIG_IP_FIB_HASH=y +# CONFIG_IP_MULTIPLE_TABLES is not set +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +# CONFIG_IP_PNP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m +# CONFIG_NET_IPGRE_BROADCAST is not set +# CONFIG_IP_MROUTE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CT_PROTO_DCCP is not set +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +# CONFIG_NETFILTER_TPROXY is not set +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_IP_NF_QUEUE=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_ADDRTYPE=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_SIP=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set +CONFIG_NET_CLS_ROUTE=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIBTUSB=m +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIDTL1 is not set +# CONFIG_BT_HCIBT3C is not set +# CONFIG_BT_HCIBLUECARD is not set +# CONFIG_BT_HCIBTUART is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_PHONET is not set +CONFIG_WIRELESS=y +CONFIG_CFG80211=m +CONFIG_NL80211=y +CONFIG_WIRELESS_OLD_REGULATORY=y +CONFIG_WIRELESS_EXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_MAC80211=m + +# +# Rate control algorithm selection +# +CONFIG_MAC80211_RC_PID=y +# CONFIG_MAC80211_RC_MINSTREL is not set +CONFIG_MAC80211_RC_DEFAULT_PID=y +# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set +CONFIG_MAC80211_RC_DEFAULT="pid" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_IEEE80211=m +# CONFIG_IEEE80211_DEBUG is not set +CONFIG_IEEE80211_CRYPT_WEP=m +CONFIG_IEEE80211_CRYPT_CCMP=m +CONFIG_IEEE80211_CRYPT_TKIP=m +CONFIG_RFKILL=m +CONFIG_RFKILL_INPUT=m +CONFIG_RFKILL_LEDS=y +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y +# CONFIG_MTD is not set +CONFIG_PARPORT=y +CONFIG_PARPORT_PC=y +# CONFIG_PARPORT_SERIAL is not set +# CONFIG_PARPORT_PC_FIFO is not set +# CONFIG_PARPORT_PC_SUPERIO is not set +# CONFIG_PARPORT_PC_PCMCIA is not set +# CONFIG_PARPORT_GSC is not set +# CONFIG_PARPORT_AX88796 is not set +# CONFIG_PARPORT_1284 is not set +CONFIG_PNP=y +CONFIG_PNP_DEBUG_MESSAGES=y + +# +# Protocols +# +CONFIG_PNPACPI=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_FD=m +# CONFIG_PARIDE is not set +# CONFIG_BLK_CPQ_DA is not set +CONFIG_BLK_CPQ_CISS_DA=m +# CONFIG_CISS_SCSI_TAPE is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_BLK_DEV_XIP is not set +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_BLK_DEV_HD is not set +CONFIG_MISC_DEVICES=y +CONFIG_IBM_ASM=m +CONFIG_PHANTOM=m +CONFIG_EEPROM_93CX6=m +CONFIG_SGI_IOC4=m +CONFIG_TIFM_CORE=m +CONFIG_TIFM_7XX1=m +CONFIG_ACER_WMI=m +CONFIG_ASUS_LAPTOP=m +CONFIG_FUJITSU_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP_DEBUG is not set +# CONFIG_HP_WMI is not set +# CONFIG_ICS932S401 is not set +CONFIG_MSI_LAPTOP=m +# CONFIG_PANASONIC_LAPTOP is not set +# CONFIG_COMPAL_LAPTOP is not set +CONFIG_SONY_LAPTOP=m +CONFIG_SONYPI_COMPAT=y +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_DEBUG=y +CONFIG_THINKPAD_ACPI_BAY=y +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +CONFIG_INTEL_MENLOW=m +CONFIG_EEEPC_LAPTOP=m +CONFIG_ENCLOSURE_SERVICES=m +# CONFIG_SGI_XP is not set +# CONFIG_HP_ILO is not set +# CONFIG_SGI_GRU is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_RAID_ATTRS=m +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +CONFIG_SCSI_TGT=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SR_VENDOR=y +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_ENCLOSURE is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_FC_TGT_ATTRS is not set +CONFIG_SCSI_ISCSI_ATTRS=m +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_LIBSAS=m +# CONFIG_SCSI_SAS_ATA is not set +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SAS_LIBSAS_DEBUG=y +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +CONFIG_ISCSI_TCP=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 +CONFIG_AIC7XXX_RESET_DELAY_MS=5000 +# CONFIG_AIC7XXX_DEBUG_ENABLE is not set +CONFIG_AIC7XXX_DEBUG_MASK=0 +# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set +CONFIG_SCSI_AIC7XXX_OLD=m +CONFIG_SCSI_AIC79XX=m +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_RESET_DELAY_MS=5000 +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_AIC79XX_DEBUG_MASK=0 +# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set +CONFIG_SCSI_AIC94XX=m +CONFIG_AIC94XX_DEBUG=y +# CONFIG_SCSI_DPT_I2O is not set +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_ARCMSR_AER=y +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_SAS=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_EATA=m +CONFIG_SCSI_EATA_TAGGED_QUEUE=y +CONFIG_SCSI_EATA_LINKED_COMMANDS=y +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_IMM=m +CONFIG_SCSI_IZIP_EPP16=y +CONFIG_SCSI_IZIP_SLOW_CTR=y +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_IPR=m +CONFIG_SCSI_IPR_TRACE=y +CONFIG_SCSI_IPR_DUMP=y +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_LPFC=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DC390T=m +# CONFIG_SCSI_DEBUG is not set +CONFIG_SCSI_SRP=m +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set +# CONFIG_SCSI_DH is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_ACPI=y +CONFIG_SATA_PMP=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_SIL24=m +CONFIG_ATA_SFF=y +CONFIG_SATA_SVW=m +CONFIG_ATA_PIIX=y +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_PDC_ADMA=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_PROMISE=m +CONFIG_SATA_SX4=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIS=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m +CONFIG_SATA_INIC162X=m +CONFIG_PATA_ACPI=m +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CS5520=m +CONFIG_PATA_CS5530=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_ATA_GENERIC=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +CONFIG_PATA_HPT3X3_DMA=y +CONFIG_PATA_IT821X=m +CONFIG_PATA_IT8213=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_MARVELL=m +CONFIG_PATA_MPIIX=y +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RZ1000=m +CONFIG_PATA_SC1200=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_SIS=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PATA_SCH=m +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +CONFIG_MD_RAID5_RESHAPE=y +# CONFIG_MD_MULTIPATH is not set +# CONFIG_MD_FAULTY is not set +# CONFIG_BLK_DEV_DM is not set +CONFIG_FUSION=y +CONFIG_FUSION_SPI=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_SAS=m +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_CTL=m +# CONFIG_FUSION_LOGGING is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# Enable only one of the two stacks, unless you know what you are doing +# +# CONFIG_FIREWIRE is not set +CONFIG_IEEE1394=m +CONFIG_IEEE1394_OHCI1394=m +CONFIG_IEEE1394_PCILYNX=m +CONFIG_IEEE1394_SBP2=m +# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set +# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set +# CONFIG_IEEE1394_ETH1394 is not set +CONFIG_IEEE1394_RAWIO=m +CONFIG_IEEE1394_VIDEO1394=m +# CONFIG_IEEE1394_DV1394 is not set +# CONFIG_IEEE1394_VERBOSEDEBUG is not set +# CONFIG_I2O is not set +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MAC_EMUMOUSEBTN=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=m +CONFIG_BONDING=m +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_NET_SB1000 is not set +# CONFIG_ARCNET is not set +CONFIG_PHYLIB=m + +# +# MII PHY device drivers +# +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_MDIO_BITBANG is not set +CONFIG_NET_ETHERNET=y +CONFIG_MII=m +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +CONFIG_NET_VENDOR_3COM=y +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +# CONFIG_NET_TULIP is not set +# CONFIG_HP100 is not set +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set +CONFIG_NET_PCI=y +CONFIG_PCNET32=m +CONFIG_AMD8111_ETH=m +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +CONFIG_FORCEDETH=m +# CONFIG_FORCEDETH_NAPI is not set +# CONFIG_EEPRO100 is not set +CONFIG_E100=m +CONFIG_FEALNX=m +CONFIG_NATSEMI=m +CONFIG_NE2K_PCI=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_PIO=y +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R6040=m +CONFIG_SIS900=m +CONFIG_EPIC100=m +CONFIG_SUNDANCE=m +CONFIG_SUNDANCE_MMIO=y +CONFIG_TLAN=m +CONFIG_VIA_RHINE=m +CONFIG_VIA_RHINE_MMIO=y +CONFIG_SC92031=m +CONFIG_NET_POCKET=y +CONFIG_ATP=m +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_ATL2=m +CONFIG_NETDEV_1000=y +CONFIG_ACENIC=m +CONFIG_ACENIC_OMIT_TIGON_I=y +CONFIG_DL2K=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IP1000=m +CONFIG_IGB=m +# CONFIG_IGB_LRO is not set +CONFIG_NS83820=m +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_R8169=m +CONFIG_SIS190=m +CONFIG_SKGE=m +CONFIG_SKY2=m +CONFIG_VIA_VELOCITY=m +CONFIG_TIGON3=m +CONFIG_BNX2=m +CONFIG_QLA3XXX=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_JME=m +CONFIG_NETDEV_10000=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_ENIC is not set +# CONFIG_IXGBE is not set +# CONFIG_IXGB is not set +# CONFIG_S2IO is not set +# CONFIG_MYRI10GE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_NIU is not set +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_TEHUTI is not set +# CONFIG_BNX2X is not set +# CONFIG_QLGE is not set +# CONFIG_SFC is not set +# CONFIG_TR is not set + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +CONFIG_WLAN_80211=y +CONFIG_PCMCIA_RAYCS=m +CONFIG_IPW2100=m +CONFIG_IPW2100_MONITOR=y +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2200=m +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +# CONFIG_IPW2200_DEBUG is not set +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_CS=m +CONFIG_LIBERTAS_SDIO=m +# CONFIG_LIBERTAS_DEBUG is not set +# CONFIG_LIBERTAS_THINFIRM is not set +CONFIG_AIRO=m +CONFIG_HERMES=m +CONFIG_PLX_HERMES=m +CONFIG_TMD_HERMES=m +CONFIG_NORTEL_HERMES=m +CONFIG_PCI_HERMES=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_ATMEL=m +CONFIG_PCI_ATMEL=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_AIRO_CS=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PRISM54=m +CONFIG_USB_ZD1201=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_ADM8211=m +# CONFIG_MAC80211_HWSIM is not set +CONFIG_P54_COMMON=m +CONFIG_P54_USB=m +CONFIG_P54_PCI=m +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +CONFIG_ATH9K=m +CONFIG_IWLWIFI=m +CONFIG_IWLCORE=m +CONFIG_IWLWIFI_LEDS=y +CONFIG_IWLWIFI_RFKILL=y +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLAGN=m +CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y +CONFIG_IWLAGN_LEDS=y +CONFIG_IWL4965=y +CONFIG_IWL5000=y +CONFIG_IWL3945=m +CONFIG_IWL3945_RFKILL=y +CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y +CONFIG_IWL3945_LEDS=y +# CONFIG_IWL3945_DEBUG is not set +CONFIG_HOSTAP=m +CONFIG_HOSTAP_FIRMWARE=y +CONFIG_HOSTAP_FIRMWARE_NVRAM=y +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_CS=m +CONFIG_B43=m +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCMCIA=y +CONFIG_B43_PIO=y +CONFIG_B43_LEDS=y +CONFIG_B43_RFKILL=y +CONFIG_B43_DEBUG=y +CONFIG_B43_FORCE_PIO=y +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_RFKILL=y +CONFIG_B43LEGACY_DEBUG=y +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_RT2X00=m +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT61PCI=m +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_RFKILL=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_HSO=m +CONFIG_NET_PCMCIA=y +CONFIG_PCMCIA_3C589=m +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_PCNET=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_XIRC2PS=m +CONFIG_PCMCIA_AXNET=m +# CONFIG_WAN is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +# CONFIG_PLIP is not set +CONFIG_PPP=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_MPPE=m +CONFIG_PPPOE=m +CONFIG_PPPOL2TP=m +CONFIG_SLIP=m +# CONFIG_SLIP_COMPRESSED is not set +CONFIG_SLHC=y +# CONFIG_SLIP_SMART is not set +# CONFIG_SLIP_MODE_SLIP6 is not set +# CONFIG_NET_FC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_POLLDEV=m + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_USB=y +CONFIG_JOYSTICK_IFORCE_232=y +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +CONFIG_INPUT_PCSPKR=y +# CONFIG_INPUT_APANEL is not set +# CONFIG_INPUT_ATLAS_BTNS is not set +# CONFIG_INPUT_ATI_REMOTE is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYSPAN_REMOTE is not set +# CONFIG_INPUT_POWERMATE is not set +# CONFIG_INPUT_YEALINK is not set +# CONFIG_INPUT_CM109 is not set +CONFIG_INPUT_UINPUT=m + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=m +# CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_PARKBD is not set +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +CONFIG_GAMEPORT=m +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +CONFIG_GAMEPORT_EMU10K1=m +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +CONFIG_SERIAL_NONSTANDARD=y +# CONFIG_COMPUTONE is not set +# CONFIG_ROCKETPORT is not set +# CONFIG_CYCLADES is not set +# CONFIG_DIGIEPCA is not set +# CONFIG_MOXA_INTELLIO is not set +# CONFIG_MOXA_SMARTIO is not set +# CONFIG_ISI is not set +# CONFIG_SYNCLINK is not set +# CONFIG_SYNCLINKMP is not set +# CONFIG_SYNCLINK_GT is not set +# CONFIG_N_HDLC is not set +# CONFIG_RISCOM8 is not set +# CONFIG_SPECIALIX is not set +# CONFIG_SX is not set +# CONFIG_RIO is not set +# CONFIG_STALDRV is not set +# CONFIG_NOZOMI is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_PNP=y +# CONFIG_SERIAL_8250_CS is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_JSM is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_PRINTER=y +# CONFIG_LP_CONSOLE is not set +# CONFIG_PPDEV is not set +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_AMD=m +CONFIG_NVRAM=m +CONFIG_RTC=y +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set + +# +# PCMCIA character devices +# +# CONFIG_SYNCLINK_CS is not set +# CONFIG_CARDMAN_4000 is not set +# CONFIG_CARDMAN_4040 is not set +# CONFIG_IPWIRELESS is not set +CONFIG_MWAVE=m +# CONFIG_PC8736x_GPIO is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_HPET is not set +# CONFIG_HANGCHECK_TIMER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_TELCLOCK is not set +CONFIG_DEVPORT=y +CONFIG_I2C=m +CONFIG_I2C_BOARDINFO=y +# CONFIG_I2C_CHARDEV is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOBIT=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Graphics adapter I2C/DDC channel drivers +# +# CONFIG_I2C_VOODOO3 is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +# CONFIG_AT24 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +# CONFIG_GPIOLIB is not set +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_BATTERY_DS2760 is not set +# CONFIG_BATTERY_BQ27x00 is not set +CONFIG_HWMON=m +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_ABITUGURU is not set +# CONFIG_SENSORS_ABITUGURU3 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_K8TEMP is not set +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_I5K_AMB is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_FSCHER is not set +# CONFIG_SENSORS_FSCPOS is not set +# CONFIG_SENSORS_FSCHMD is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_CORETEMP is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_VT8231 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_SENSORS_HDAPS is not set +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_SENSORS_APPLESMC is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_THERMAL=y +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB=m +CONFIG_SSB_SPROM=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_PCMCIAHOST=y +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_REGULATOR is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_ALLOW_V4L1=y +CONFIG_VIDEO_V4L1_COMPAT=y +# CONFIG_DVB_CORE is not set +CONFIG_VIDEO_MEDIA=m + +# +# Multimedia drivers +# +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +# CONFIG_MEDIA_ATTACH is not set +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L1=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEO_BTCX=m +CONFIG_VIDEO_IR=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TDA9875=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_VP27SMPX=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA7111=m +CONFIG_VIDEO_SAA7114=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_VPX3220=m +CONFIG_VIDEO_CX25840=m +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m +CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_SAA6588=m +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_CPIA=m +CONFIG_VIDEO_CPIA_USB=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_SAA5246A=m +CONFIG_VIDEO_SAA5249=m +CONFIG_VIDEO_STRADIS=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_FB_IVTV=m +CONFIG_VIDEO_CAFE_CCIC=m +# CONFIG_SOC_CAMERA is not set +CONFIG_V4L_USB_DRIVERS=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +# CONFIG_USB_GSPCA is not set +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_USBVIDEO=m +CONFIG_USB_VICAM=m +CONFIG_USB_IBMCAM=m +CONFIG_USB_KONICAWC=m +CONFIG_USB_QUICKCAM_MESSENGER=m +CONFIG_USB_ET61X251=m +CONFIG_VIDEO_OVCAMCHIP=m +CONFIG_USB_W9968CF=m +CONFIG_USB_OV511=m +CONFIG_USB_SE401=m +CONFIG_USB_SN9C102=m +CONFIG_USB_STV680=m +CONFIG_USB_ZC0301=m +CONFIG_USB_PWC=m +CONFIG_USB_PWC_DEBUG=y +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +# CONFIG_USB_S2255 is not set +# CONFIG_RADIO_ADAPTERS is not set +# CONFIG_DAB is not set + +# +# Graphics support +# +CONFIG_AGP=y +CONFIG_AGP_AMD64=y +CONFIG_AGP_INTEL=m +CONFIG_AGP_SIS=m +CONFIG_AGP_VIA=m +CONFIG_DRM=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_I810=m +CONFIG_DRM_I830=m +CONFIG_DRM_I915=m +CONFIG_DRM_MGA=m +CONFIG_DRM_SIS=m +CONFIG_DRM_VIA=m +CONFIG_DRM_SAVAGE=m +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +CONFIG_FB_MODE_HELPERS=y +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ARC is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_VGA16 is not set +CONFIG_FB_UVESA=y +# CONFIG_FB_VESA is not set +# CONFIG_FB_N411 is not set +# CONFIG_FB_HGA is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_LE80578 is not set +# CONFIG_FB_INTEL is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_GEODE is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_PLATFORM is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +# CONFIG_BACKLIGHT_CORGI is not set +# CONFIG_BACKLIGHT_PROGEAR is not set +# CONFIG_BACKLIGHT_MBP_NVIDIA is not set +# CONFIG_BACKLIGHT_SAHARA is not set + +# +# Display device support +# +CONFIG_DISPLAY_SUPPORT=m + +# +# Display hardware drivers +# + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FB_CON_DECOR=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +# CONFIG_LOGO is not set +CONFIG_SOUND=y +CONFIG_SOUND_OSS_CORE=y +CONFIG_SND=m +CONFIG_SND_TIMER=m +CONFIG_SND_PCM=m +CONFIG_SND_HWDEP=m +CONFIG_SND_RAWMIDI=m +CONFIG_SND_SEQUENCER=m +# CONFIG_SND_SEQ_DUMMY is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +# CONFIG_SND_SEQUENCER_OSS is not set +# CONFIG_SND_RTCTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +# CONFIG_SND_SUPPORT_OLD_API is not set +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +CONFIG_SND_MPU401_UART=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_VIRMIDI is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_MTS64 is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +# CONFIG_SND_PORTMAN2X4 is not set +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SB16_DSP=m +CONFIG_SND_PCI=y +CONFIG_SND_AD1889=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +CONFIG_SND_BT87X_OVERCLOCK=y +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_OXYGEN=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CS5530=m +CONFIG_SND_DARLA20=m +CONFIG_SND_GINA20=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_DARLA24=m +CONFIG_SND_GINA24=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_MONA=m +CONFIG_SND_MIA=m +CONFIG_SND_ECHO3G=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_FM801_TEA575X=m +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_HWDEP=y +# CONFIG_SND_HDA_INPUT_BEEP is not set +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_CODEC_ATIHDMI=y +CONFIG_SND_HDA_CODEC_NVHDMI=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_POWER_SAVE=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HIFIER=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_KORG1212=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +CONFIG_SND_PCXHR=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VX222=m +CONFIG_SND_YMFPCI=m +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=m +# CONFIG_SND_USB_USX2Y is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_US122L is not set +CONFIG_SND_PCMCIA=y +# CONFIG_SND_VXPOCKET is not set +# CONFIG_SND_PDAUDIOCF is not set +# CONFIG_SND_SOC is not set +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +# CONFIG_HID_DEBUG is not set +# CONFIG_HIDRAW is not set + +# +# USB Input Devices +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# Special HID drivers +# +CONFIG_HID_COMPAT=y +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_BRIGHT=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DELL=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +# CONFIG_THRUSTMASTER_FF is not set +# CONFIG_ZEROPLUS_FF is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_DEVICE_CLASS is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_SUSPEND=y +# CONFIG_USB_OTG is not set +CONFIG_USB_MON=y +# CONFIG_USB_WUSB is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +# CONFIG_USB_EHCI_TT_NEWSCHED is not set +CONFIG_USB_ISP116X_HCD=m +# CONFIG_USB_ISP1760_HCD is not set +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_OHCI_HCD_SSB is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_UHCI_HCD=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_WHCI_HCD is not set +# CONFIG_USB_HWA_HCD is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# + +# +# see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_USS720 is not set +CONFIG_USB_SERIAL=m +CONFIG_USB_EZUSB=y +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP2101=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MOTOROLA=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_HP4X=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_DEBUG=m + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +CONFIG_USB_GADGET=m +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +CONFIG_USB_GADGET_M66592=y +CONFIG_USB_M66592=m +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_ZERO is not set +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_UWB is not set +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=m +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_WBSD=m +CONFIG_MMC_TIFM_SD=m +# CONFIG_MMC_SDRICOH_CS is not set +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set + +# +# MemoryStick drivers +# +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MSPRO_BLOCK=m + +# +# MemoryStick Host Controller Drivers +# +CONFIG_MEMSTICK_TIFM_MS=m +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=m + +# +# LED drivers +# +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_HP_DISK is not set +# CONFIG_LEDS_CLEVO_MAIL is not set +# CONFIG_LEDS_PCA955X is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +# CONFIG_EDAC is not set +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_STAGING is not set + +# +# Firmware Drivers +# +# CONFIG_EDD is not set +CONFIG_FIRMWARE_MEMMAP=y +# CONFIG_DELL_RBU is not set +# CONFIG_DCDBAS is not set +CONFIG_DMIID=y +# CONFIG_ISCSI_IBFT_FIND is not set + +# +# File systems +# +CONFIG_EXT2_FS=m +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT2_FS_XIP=y +CONFIG_EXT3_FS=m +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=m +# CONFIG_EXT4DEV_COMPAT is not set +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_FS_XIP=y +CONFIG_JBD=m +CONFIG_JBD2=m +CONFIG_FS_MBCACHE=m +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_DEBUG is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_QUOTACTL=y +# CONFIG_AUTOFS_FS is not set +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=m + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=866 +CONFIG_FAT_DEFAULT_IOCHARSET="utf8" +CONFIG_NTFS_FS=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLBFS is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Layered filesystems +# +# CONFIG_ECRYPT_FS is not set +CONFIG_UNION_FS=m +CONFIG_UNION_FS_XATTR=y +# CONFIG_UNION_FS_DEBUG is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +CONFIG_NFSD=m +CONFIG_NFSD_V3=y +# CONFIG_NFSD_V3_ACL is not set +# CONFIG_NFSD_V4 is not set +CONFIG_LOCKD=m +CONFIG_LOCKD_V4=y +CONFIG_EXPORTFS=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=m +CONFIG_SUNRPC_GSS=m +# CONFIG_SUNRPC_REGISTER_V4 is not set +CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPCSEC_GSS_SPKM3 is not set +CONFIG_SMB_FS=m +CONFIG_SMB_NLS_DEFAULT=y +CONFIG_SMB_NLS_REMOTE="cp866" +CONFIG_CIFS=m +CONFIG_CIFS_STATS=y +# CONFIG_CIFS_STATS2 is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_UPCALL is not set +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_DEBUG2 is not set +CONFIG_CIFS_EXPERIMENTAL=y +# CONFIG_CIFS_DFS_UPCALL is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=m +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=m +# CONFIG_NLS_CODEPAGE_852 is not set +CONFIG_NLS_CODEPAGE_855=m +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +CONFIG_NLS_CODEPAGE_866=m +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=m +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +CONFIG_NLS_ISO8859_5=m +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_UTF8=m +# CONFIG_DLM is not set + +# +# Kernel hacking +# +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +# CONFIG_PRINTK_TIME is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=2048 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_KERNEL is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y + +# +# Tracers +# +# CONFIG_SYSPROF_TRACER is not set +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_X86_VERBOSE_BOOTUP=y +CONFIG_EARLY_PRINTK=y +# CONFIG_EARLY_PRINTK_DBGP is not set +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_0X80=y +# CONFIG_IO_DELAY_0XED is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_DELAY_NONE is not set +CONFIG_DEFAULT_IO_DELAY_TYPE=0 +# CONFIG_OPTIMIZE_INLINING is not set + +# +# Security options +# +CONFIG_KEYS=y +CONFIG_KEYS_DEBUG_PROC_KEYS=y +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_XOR_BLOCKS=m +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_XOR=m +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_FIPS is not set +CONFIG_CRYPTO_ALGAPI=m +CONFIG_CRYPTO_ALGAPI2=m +CONFIG_CRYPTO_AEAD2=m +CONFIG_CRYPTO_BLKCIPHER=m +CONFIG_CRYPTO_BLKCIPHER2=m +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_HASH2=m +CONFIG_CRYPTO_RNG2=m +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=m +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +CONFIG_CRYPTO_CBC=m +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=m +# CONFIG_CRYPTO_LRW is not set +CONFIG_CRYPTO_PCBC=m +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=m +# CONFIG_CRYPTO_CRC32C_INTEL is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MICHAEL_MIC=m +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_AES_X86_64=m +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=m +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SALSA20_X86_64 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_TWOFISH_X86_64 is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=m +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_HIFN_795X is not set +CONFIG_HAVE_KVM=y +# CONFIG_VIRTUALIZATION is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_FIND_NEXT_BIT=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=m +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_CHECK_SIGNATURE=y diff --git a/install/builder/packages/base/base b/install/builder/packages/base/base new file mode 100644 index 0000000..0e609fd --- /dev/null +++ b/install/builder/packages/base/base @@ -0,0 +1,42 @@ +#------------------------------------------------------------------------------ +# Базовый набор программ всех конфигураций +#------------------------------------------------------------------------------ +app-admin/logrotate +app-admin/syslog-ng +app-cdr/cdrkit #необходим для создания ISO-образов +app-i18n/enca #используется для корректного отображения man +app-misc/mc +app-portage/eix +app-portage/emerge-delta-webrsync +app-portage/genlop +app-portage/gentoolkit +app-portage/layman +app-portage/portage-utils +app-portage/ufed +dev-util/dialog +#dev-util/git #система контроля версий +media-fonts/terminus-font +net-misc/wol #Wake On LAN client +sys-apps/hal +sys-apps/hotplug +sys-apps/kexec-tools #быстрая перезагрузка Linux +sys-apps/memtest86+ +sys-apps/pciutils +sys-apps/usbutils +sys-apps/v86d #поддержка uvesafb +sys-boot/grub +sys-boot/calcboot +sys-fs/calculate-squashfs #модуль squashfs+lzma +sys-fs/dmraid +sys-fs/dosfstools +sys-fs/e2fsprogs +sys-fs/jfsutils +sys-fs/mdadm #A useful tool for running RAID systems - it can be used as a replacement for the raidtools +sys-fs/ntfs3g +#sys-fs/reiser4progs +sys-fs/reiserfsprogs +sys-fs/xfsprogs +sys-kernel/calckernel #создание initrd файла +sys-kernel/module-rebuild #пересборка модулей после перекомпиляции нового ядра +sys-process/vixie-cron + diff --git a/install/builder/packages/base/base_arc b/install/builder/packages/base/base_arc new file mode 100644 index 0000000..d199e3d --- /dev/null +++ b/install/builder/packages/base/base_arc @@ -0,0 +1,16 @@ +#------------------------------------------------------------------------------ +# Утилиты архивирования +#------------------------------------------------------------------------------ + +app-arch/arj +app-arch/bzip2 +app-arch/gzip +app-arch/lha +app-arch/p7zip +app-arch/rar +app-arch/zip +app-arch/zoo +app-arch/unace +app-arch/unarj +app-arch/unzip +app-arch/unrar diff --git a/install/builder/packages/base/base_first b/install/builder/packages/base/base_first new file mode 100644 index 0000000..d4ed842 --- /dev/null +++ b/install/builder/packages/base/base_first @@ -0,0 +1,11 @@ +#------------------------------------------------------------------------------ +# Базовый набор программ устанавливаемый перед остальными пакетами из calculate +#------------------------------------------------------------------------------ +sys-apps/openrc #OpenRC manages the services, startup and shutdown of a host +sys-apps/sysvinit +sys-fs/udev +sys-apps/baselayout + +sys-apps/v86d +dev-libs/klibc + diff --git a/install/builder/packages/base/base_hacker b/install/builder/packages/base/base_hacker new file mode 100644 index 0000000..41945e9 --- /dev/null +++ b/install/builder/packages/base/base_hacker @@ -0,0 +1,7 @@ +#------------------------------------------------------------------------------ +# Проверка надежности систем +#------------------------------------------------------------------------------ + +app-admin/sudo +sys-process/htop + diff --git a/install/builder/packages/base/base_net b/install/builder/packages/base/base_net new file mode 100644 index 0000000..7d5e4d3 --- /dev/null +++ b/install/builder/packages/base/base_net @@ -0,0 +1,13 @@ +#------------------------------------------------------------------------------ +# Поддержка сети +#------------------------------------------------------------------------------ + +net-analyzer/macchanger +net-dialup/rp-pppoe +net-dialup/xl2tpd #A modern version of the Layer 2 Tunneling Protocol (L2TP) daemon +net-firewall/iptables +net-fs/nfs-utils +net-fs/mount-cifs +net-misc/ifenslave #настройка bonding-а (параллельной работы сетевых адаптеров) +sys-apps/ethtool + diff --git a/install/builder/packages/base/base_tools b/install/builder/packages/base/base_tools new file mode 100644 index 0000000..cfdd1c8 --- /dev/null +++ b/install/builder/packages/base/base_tools @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Различные утилиты +#------------------------------------------------------------------------------ + +app-cdr/dvd+rw-tools +app-misc/livecd-tools +#dev-perl/Crypt-PasswdMD5 #для получения хэша +media-sound/sox +sys-fs/mdadm #Linux Software RAID Management +sys-fs/mtools #необходим для установки системы на Flash diff --git a/install/builder/packages/base/base_ups b/install/builder/packages/base/base_ups new file mode 100644 index 0000000..71c4615 --- /dev/null +++ b/install/builder/packages/base/base_ups @@ -0,0 +1,5 @@ +#------------------------------------------------------------------------------ +# Поддержка источников бесперебойного питания +#------------------------------------------------------------------------------ + +sys-power/nut diff --git a/install/builder/packages/base/desktop_wireless b/install/builder/packages/base/desktop_wireless new file mode 100644 index 0000000..b276c3e --- /dev/null +++ b/install/builder/packages/base/desktop_wireless @@ -0,0 +1,17 @@ +#------------------------------------------------------------------------------ +# Беспроводные сети +#------------------------------------------------------------------------------ + +net-misc/wicd +net-wireless/b43-fwcutter +net-wireless/ipw2200-firmware +net-wireless/ipw2100-firmware +net-wireless/iwl3945-ucode +net-wireless/iwl4965-ucode +net-wireless/iwl5000-ucode +net-wireless/madwifi-ng +net-wireless/madwifi-ng-tools +#net-wireless/ndiswrapper #поддержка Wireless через Windows-драйвера +net-wireless/wireless-tools +net-wireless/wpa_supplicant + diff --git a/install/builder/packages/base?system=desktop/desktop b/install/builder/packages/base?system=desktop/desktop new file mode 100644 index 0000000..256305c --- /dev/null +++ b/install/builder/packages/base?system=desktop/desktop @@ -0,0 +1,12 @@ +#------------------------------------------------------------------------------ +# Основные программы рабочей станции +#------------------------------------------------------------------------------ + +sys-apps/calculate-client +sys-apps/keyexec #запуск rdesktop с пользовательским паролем +sys-apps/keyutils #управление ключами ядра +sys-auth/pam_keystore #сохранение пароля пользователя в ключах ядра +sys-devel/prelink +x11-apps/xev #настройка дополнительных клавиш на клавиатуре +x11-base/xorg-x11 + diff --git a/install/builder/packages/base?system=desktop/desktop_decoration b/install/builder/packages/base?system=desktop/desktop_decoration new file mode 100644 index 0000000..bb5db99 --- /dev/null +++ b/install/builder/packages/base?system=desktop/desktop_decoration @@ -0,0 +1,8 @@ +#------------------------------------------------------------------------------ +# Шрифты, декорации +#------------------------------------------------------------------------------ + +media-fonts/corefonts +media-fonts/droid +media-gfx/splashutils + diff --git a/install/builder/packages/base?system=desktop/desktop_laptop b/install/builder/packages/base?system=desktop/desktop_laptop new file mode 100644 index 0000000..90f10b5 --- /dev/null +++ b/install/builder/packages/base?system=desktop/desktop_laptop @@ -0,0 +1,16 @@ +#------------------------------------------------------------------------------ +# Ноутбук +#------------------------------------------------------------------------------ + +#?unmask=~x86# + app-laptop/fnfx #поддержка дополнительных клавиш Toshiba + sys-auth/thinkfinger #сканер отпечатков пальцев +#unmask# + +net-dialup/slmodem #софтовый модем +x11-misc/xbindkeys #настройка дополнительных клавиш посредством xorg +sys-power/acpi +sys-power/acpid +sys-power/cpufreqd +sys-power/powernowd + diff --git a/install/builder/packages/base?system=desktop/desktop_media b/install/builder/packages/base?system=desktop/desktop_media new file mode 100644 index 0000000..1658ffe --- /dev/null +++ b/install/builder/packages/base?system=desktop/desktop_media @@ -0,0 +1,5 @@ +#------------------------------------------------------------------------------ +# Мультимедиа софт +#------------------------------------------------------------------------------ + +media-sound/alsa-utils diff --git a/install/builder/packages/base?system=desktop/desktop_net b/install/builder/packages/base?system=desktop/desktop_net new file mode 100644 index 0000000..e1e8851 --- /dev/null +++ b/install/builder/packages/base?system=desktop/desktop_net @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Сетевые приложения +#------------------------------------------------------------------------------ + +net-irc/xchat +net-misc/rdesktop +#?march=x86_64# +www-plugins/nspluginwrapper +#march# +www-plugins/adobe-flash diff --git a/install/builder/packages/base?system=desktop/desktop_nettools b/install/builder/packages/base?system=desktop/desktop_nettools new file mode 100644 index 0000000..1670df5 --- /dev/null +++ b/install/builder/packages/base?system=desktop/desktop_nettools @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------ +# Различные сетевые утилиты +#------------------------------------------------------------------------------ + +net-dns/bind-tools +net-misc/dhcpcd +sys-auth/nss_ldap #авторизация в ldap-сервере +sys-auth/pam_ldap #-..- + diff --git a/install/builder/packages/base?system=desktop/desktop_print b/install/builder/packages/base?system=desktop/desktop_print new file mode 100644 index 0000000..3f4305d --- /dev/null +++ b/install/builder/packages/base?system=desktop/desktop_print @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------ +# Софт для работы с принтером +#------------------------------------------------------------------------------ + +net-print/cups +net-print/hplip +net-print/foo2zjs +net-print/gutenprint + diff --git a/install/builder/packages/base?system=desktop/desktop_video b/install/builder/packages/base?system=desktop/desktop_video new file mode 100644 index 0000000..9184ca0 --- /dev/null +++ b/install/builder/packages/base?system=desktop/desktop_video @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Программы для воспроизведения видео-файлов +#------------------------------------------------------------------------------ + +media-video/mplayer + diff --git a/install/builder/packages/base?system=desktop/desktop_wireless b/install/builder/packages/base?system=desktop/desktop_wireless new file mode 100644 index 0000000..03474f0 --- /dev/null +++ b/install/builder/packages/base?system=desktop/desktop_wireless @@ -0,0 +1,7 @@ +#------------------------------------------------------------------------------ +# Беспроводные сети +#------------------------------------------------------------------------------ + +#app-pda/msynctool #синхронизация с Windows Mobile +#app-pda/synce #Synchronize Windows CE devices with Linux +#net-wireless/bluez-utils diff --git a/install/builder/packages/base?system=desktop/desktop_x b/install/builder/packages/base?system=desktop/desktop_x new file mode 100644 index 0000000..baf96d3 --- /dev/null +++ b/install/builder/packages/base?system=desktop/desktop_x @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Утилиты Xorg +#------------------------------------------------------------------------------ + +x11-apps/xdpyinfo #display information utility for X + diff --git a/install/builder/packages/base?system=desktop/server_file b/install/builder/packages/base?system=desktop/server_file new file mode 100644 index 0000000..964f9ca --- /dev/null +++ b/install/builder/packages/base?system=desktop/server_file @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Файловый сервер +#------------------------------------------------------------------------------ + +net-fs/samba + diff --git a/install/builder/packages/base?system=desktop/x11_drivers b/install/builder/packages/base?system=desktop/x11_drivers new file mode 100644 index 0000000..675dfa0 --- /dev/null +++ b/install/builder/packages/base?system=desktop/x11_drivers @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Поддержка видеокарт +#------------------------------------------------------------------------------ + +x11-drivers/xf86-video-ati +x11-drivers/xf86-video-intel +x11-drivers/xf86-video-radeonhd +#x11-drivers/xf86-video-via +#x11-drivers/xf86-video-sis + diff --git a/install/builder/packages/desktop?calculate=CLD/desktop b/install/builder/packages/desktop?calculate=CLD/desktop new file mode 100644 index 0000000..d90463b --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Основные программы рабочей станции +#------------------------------------------------------------------------------ + +app-cdr/k3b +app-editors/vim +app-portage/porthole #а GTK+-based frontend to Portage +dev-tcltk/expect +#sys-auth/pam_mount #монтирование сетевых дисков с поддержкой криптографии + diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_decoration b/install/builder/packages/desktop?calculate=CLD/desktop_decoration new file mode 100644 index 0000000..ddd0c2b --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_decoration @@ -0,0 +1,11 @@ +#------------------------------------------------------------------------------ +# Декорации +#------------------------------------------------------------------------------ + +kde-misc/kgtk # диалоги открытия файлов для gtk в стиле kde +kde-misc/stdin-plasmoid #Плазмоид выполняет команду и отображает выходной поток +kde-misc/translatoid #переводчик использующий translate.google.com +media-gfx/calculate-cld-themes +#x11-themes/gtk-engines-qt #преобразование Gtk стилей в Qt +x11-themes/gtk-engines-qtcurve #преобразование Gtk стилей в Qt + diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_developer b/install/builder/packages/desktop?calculate=CLD/desktop_developer new file mode 100644 index 0000000..7b0e973 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_developer @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Инструменты разработчика +#------------------------------------------------------------------------------ + +dev-db/pgadmin3 +dev-python/ipython +dev-python/psycopg +dev-util/kdesvn +net-nds/luma + diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_dict b/install/builder/packages/desktop?calculate=CLD/desktop_dict new file mode 100644 index 0000000..ca14583 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_dict @@ -0,0 +1,29 @@ +#------------------------------------------------------------------------------ +# Словари +#------------------------------------------------------------------------------ +#словари используются в KDE +app-dicts/aspell-de +app-dicts/aspell-en +app-dicts/aspell-es +app-dicts/aspell-fr +app-dicts/aspell-pt-br +app-dicts/aspell-ru +app-dicts/aspell-uk + +#словари используются в KDE +app-dicts/ispell-de +app-dicts/ispell-es +app-dicts/ispell-fr +app-dicts/ispell-pt-br +app-dicts/ispell-ru + +#Словари используются в OpenOffice.org +app-dicts/myspell-de +app-dicts/myspell-en +app-dicts/myspell-es +app-dicts/myspell-fr +app-dicts/myspell-pt +app-dicts/myspell-ru +app-dicts/myspell-uk + +app-dicts/qstardict #QStarDict is a StarDict clone written with using Qt diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_emulation b/install/builder/packages/desktop?calculate=CLD/desktop_emulation new file mode 100644 index 0000000..dc96b1d --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_emulation @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------ +# Различные эмуляторы +#------------------------------------------------------------------------------ + +app-emulation/qemu +app-emulation/virtualbox-bin #система виртуализации для Windows и др. +app-emulation/virtualbox-guest-additions +app-emulation/wine + diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_graphics b/install/builder/packages/desktop?calculate=CLD/desktop_graphics new file mode 100644 index 0000000..4721894 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_graphics @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Работа с изображениями, векторная графика +#------------------------------------------------------------------------------ + +#app-doc/gimp-help +media-gfx/gimp +media-gfx/xsane +media-plugins/kipi-plugins +#sci-misc/qcad + diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_guard b/install/builder/packages/desktop?calculate=CLD/desktop_guard new file mode 100644 index 0000000..c8d426f --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_guard @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Защита компьютера +#------------------------------------------------------------------------------ + +app-antivirus/clamav #антивирус +#app-admin/kiosktool #управление доступом пользователя diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_hacker b/install/builder/packages/desktop?calculate=CLD/desktop_hacker new file mode 100644 index 0000000..a5937fe --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_hacker @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Проверка надежности систем +#------------------------------------------------------------------------------ + +#app-crypt/truecrypt +#app-forensics/rkhunter +#net-analyzer/nessus +net-analyzer/nmap +#net-analyzer/snort +#net-wireless/kismet diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_home b/install/builder/packages/desktop?calculate=CLD/desktop_home new file mode 100644 index 0000000..71706eb --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_home @@ -0,0 +1,17 @@ +#------------------------------------------------------------------------------ +# Набор софта для домашнего компьютера +#------------------------------------------------------------------------------ + +app-misc/gcstar #personal collections manager +#app-mobilephone/kmobiletools +#app-office/kmymoney2 #программа финансового учёта +media-gfx/digikam +media-libs/mutagen #набор утилит конвертации тэгов +media-sound/amarok +#media-tv/ktvschedule #просмотр каналов TV-передач +#media-tv/mtvg #просмотр каналов TV-передач +media-tv/tvtime +#media-tv/xmltv #библиотеки для работы с форматом XMLTV +#net-p2p/linuxdcpp +#x11-themes/hicolor-icon-theme #набор иконок freedesktop +#x11-themes/gnome-icon-theme #набор иконок Gnome diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_kde b/install/builder/packages/desktop?calculate=CLD/desktop_kde new file mode 100644 index 0000000..d229eb5 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_kde @@ -0,0 +1,307 @@ +#------------------------------------------------------------------------------ +# KDE4 (K Desktop Environment) — свободное рабочее окружение +# http://ru.wikipedia.org/wiki/KDE +#------------------------------------------------------------------------------ + +#------------------------------------------------------------------------------ +# kdelibs, kdepimlibs — основные библиотеки, требуются для сборки других пакетов +#------------------------------------------------------------------------------ +#kde-base/kdelibs #основные библиотеки, требуется для сборки других пакетов + +#------------------------------------------------------------------------------ +# kdeadmin - инструменты графического администрирования +#------------------------------------------------------------------------------ +kde-base/kcron +kde-base/knetworkconf +#kde-base/ksystemlog +kde-base/kuser +#kde-base/lilo-config + +#------------------------------------------------------------------------------ +# kdeartwork - дополнительные украшения (стили, заставки, обои и т. д.) +#------------------------------------------------------------------------------ +kde-base/kdeartwork-colorschemes +kde-base/kdeartwork-desktopthemes +kde-base/kdeartwork-emoticons +kde-base/kdeartwork-iconthemes +kde-base/kdeartwork-kscreensaver +kde-base/kdeartwork-sounds +kde-base/kdeartwork-styles +kde-base/kdeartwork-wallpapers + +#------------------------------------------------------------------------------ +# kdebase - рабочий стол и основные приложения +#------------------------------------------------------------------------------ +kde-base/dolphin +#kde-base/drkonqi #окно анализатора сбоя +kde-base/kappfinder #поиск приложений на компьютере с добавлением их в меню KDE +kde-base/kcheckpass +kde-base/kcminit +kde-base/kcmshell +kde-base/kcontrol #инструмент для централизованной настройки KDE +kde-base/kde-menu +kde-base/kde-menu-icons +kde-base/kde-wallpapers +kde-base/kdebase-cursors +kde-base/kdebase-data +kde-base/kdebase-desktoptheme +kde-base/kdebase-kioslaves +kde-base/kdebase-startkde +kde-base/kdebugdialog +kde-base/kdedglobalaccel +kde-base/kdepasswd +kde-base/kdesu +kde-base/kdialog +kde-base/kdm #графический вход в систему +kde-base/keditbookmarks +kde-base/kephal +kde-base/kfile +kde-base/kfind +kde-base/khelpcenter +kde-base/khotkeys +kde-base/kiconfinder +kde-base/kinfocenter +kde-base/kioclient +kde-base/klipper +kde-base/kmenuedit #редактор главного меню KDE +kde-base/kmimetypefinder +kde-base/knetattach +kde-base/knewstuff +kde-base/konqueror +kde-base/konsole #графический эмулятор терминала +kde-base/kpasswdserver +kde-base/kquitapp +kde-base/kscreensaver #экранные заставки +kde-base/ksmserver +kde-base/ksplash +kde-base/kstart +kde-base/kstartupconfig +kde-base/kstyles +kde-base/ksysguard +kde-base/ksystraycmd +kde-base/ktimezoned +kde-base/ktraderclient +kde-base/kuiserver +kde-base/kurifilter-plugins +kde-base/kwalletd +kde-base/kwin +kde-base/kwrite +kde-base/kwrited +kde-base/libkonq +kde-base/libkworkspace +kde-base/libplasmaclock +kde-base/libtaskmanager +kde-base/nsplugins +kde-base/phonon-kde +kde-base/plasma-apps +kde-base/plasma-workspace +kde-base/powerdevil +kde-base/renamedlg-plugins +kde-base/solid +kde-base/solid-hardware +kde-base/soliduiserver +kde-base/systemsettings +#kde-base/nepomuk + +#------------------------------------------------------------------------------ +# kdeedu - образовательное ПО +#------------------------------------------------------------------------------ +#kde-base/blinken +#kde-base/kalgebra +#kde-base/kalzium +#kde-base/kanagram +#kde-base/kbruch +#kde-base/kgeography +#kde-base/khangman +#kde-base/kig +#kde-base/kiten +#kde-base/klettres +#kde-base/kmplot +#kde-base/kstars +#kde-base/ktouch +#kde-base/kturtle +#kde-base/kwordquiz +#kde-base/libkdeedu +#kde-base/marble +#kde-base/parley +#kde-base/step + +#------------------------------------------------------------------------------ +# kdegames - игры +#------------------------------------------------------------------------------ +#kde-base/bomber +#kde-base/bovo +#kde-base/kapman +#kde-base/katomic +#kde-base/kbattleship +#kde-base/kblackbox +#kde-base/kblocks +#kde-base/kbounce +#kde-base/kbreakout +#kde-base/kdiamond +#kde-base/kfourinline +#kde-base/kgoldrunner +#kde-base/killbots +#kde-base/kiriki +#kde-base/kjumpingcube +#kde-base/klines +#kde-base/kmahjongg +#kde-base/kmines +#kde-base/knetwalk +#kde-base/kolf +#kde-base/kollision +#kde-base/konquest +#kde-base/kpat +#kde-base/kreversi +#kde-base/ksame +#kde-base/kshisen +#kde-base/ksirk +#kde-base/kspaceduel +#kde-base/ksquares +#kde-base/ksudoku +#kde-base/ktuberling +#kde-base/kubrick +#kde-base/libkdegames +#kde-base/libkmahjongg +#kde-base/lskat + +#------------------------------------------------------------------------------ +# kdegraphics - ПО для работы с графикой +#------------------------------------------------------------------------------ +kde-base/gwenview +kde-base/kamera #работа с фотоаппаратом +kde-base/kcolorchooser +kde-base/kgamma +kde-base/kolourpaint #примитивный графический редактор +kde-base/kruler +kde-base/ksnapshot #снимки экрана +kde-base/libkdcraw +kde-base/libkexiv2 +kde-base/libkipi +kde-base/libksane +kde-base/okular +kde-base/svgpart +kde-base/kdegraphics-strigi-analyzer + +#------------------------------------------------------------------------------ +# kdemultimedia - мультимедиа ПО +#------------------------------------------------------------------------------ +#kde-base/dragonplayer +#kde-base/juk +kde-base/kdemultimedia-kioslaves #отображение директорий MP3, Ogg.. аудио-диске +kde-base/kmix +kde-base/kscd +kde-base/libkcddb +kde-base/libkcompactdisc + +#------------------------------------------------------------------------------ +# kdenetwork - инструменты для работы с сетью +#------------------------------------------------------------------------------ +kde-base/kdenetwork-filesharing +kde-base/kdnssd +kde-base/kget +#!#kde-base/knewsticker +kde-base/kopete #im-клиент поддерживающий различные протоколы +kde-base/kppp +kde-base/krdc #клиент для подключения к удаленному рабочему столу +kde-base/krfb #общий рабочий стол + +#------------------------------------------------ +# kdepim - персональный органайзер +#------------------------------------------------ +kde-base/akonadi +kde-base/akregator +kde-base/kaddressbook +kde-base/kalarm +kde-base/kdemaildir +kde-base/kdepim-icons +kde-base/kdepim-kresources +kde-base/kdepim-strigi-analyzer +kde-base/kdepim-wizards +kde-base/kjots +kde-base/kleopatra +kde-base/kmail +kde-base/kmailcvt +kde-base/knode #программа для чтения новостей +kde-base/knotes +kde-base/kode +kde-base/kontact +kde-base/kontact-specialdates +kde-base/kontactinterfaces +kde-base/korganizer +kde-base/ktimetracker +kde-base/libkdepim +kde-base/libkholidays +kde-base/libkleo +kde-base/libkpgp +kde-base/libksieve +kde-base/mimelib + +#------------------------------------------------ +# kdesdk — инструменты разработчика +#------------------------------------------------ +#kde-base/cervisia +#kde-base/kapptemplate +kde-base/kate +#kde-base/kbugbuster +#kde-base/kcachegrind +#kde-base/kdeaccounts-plugin +kde-base/kdesdk-kioslaves #в зависимостях для kdesvn +#kde-base/kdesdk-misc +#kde-base/kdesdk-scripts +#kde-base/kdesdk-strigi-analyzer +#kde-base/kompare +#kde-base/kstartperf +#kde-base/kuiviewer +#kde-base/lokalize +#kde-base/umbrello + +#------------------------------------------------------------------------------ +# kdetoys - бесполезные игрушки +#------------------------------------------------------------------------------ +#kde-base/amor +#kde-base/kteatime +#kde-base/ktux +#kde-base/kweather + +#------------------------------------------------------------------------------ +# kdeutils - разнообразные утилиты +#------------------------------------------------------------------------------ +kde-base/ark +kde-base/kcalc +kde-base/kcharselect +kde-base/kdessh +kde-base/kdf +kde-base/kgpg +kde-base/ktimer +kde-base/kwallet +kde-base/superkaramba +kde-base/sweeper +kde-base/okteta +#kde-base/kfloppy + +#------------------------------------------------------------------------------ +# kdeaccessibility - дополнительные программы для людей с ограниченными +# способностями (лупа, синтезатор речи и т. д.) +#------------------------------------------------------------------------------ +#kde-base/kdeaccessibility-colorschemes +#kde-base/kdeaccessibility-iconthemes +#kde-base/kmag +#kde-base/kmousetool +#kde-base/kmouth +#kde-base/kttsd + +#------------------------------------------------------------------------------ +# kde-l10n — интернационализация; пакет для пользователей, которые хотят +# использовать в меню, справке и в приложениях языки, отличные от английского. +#------------------------------------------------------------------------------ +kde-base/kde-l10n #интернационализация KDE + +#------------------------------------------------ +# kdemisc - не входящие в основной пакет програмы +#------------------------------------------------ +kde-base/kdeplasma-addons #Extra Plasma applets and engines. +kde-misc/konq-plugins #Various plugins for konqueror +kde-misc/yakuake #разновидность консоли +kde-misc/webkit-kpart #поддержка webkit в konqueror + diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_net b/install/builder/packages/desktop?calculate=CLD/desktop_net new file mode 100644 index 0000000..03c1826 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_net @@ -0,0 +1,15 @@ +#------------------------------------------------------------------------------ +# Сетевые приложения +#------------------------------------------------------------------------------ + +#dev-java/sun-jre-bin +#mail-client/mozilla-thunderbird +#net-im/ekiga +#net-im/licq +#net-im/sim +#net-im/skype +net-p2p/ktorrent +#net-p2p/amule +www-client/mozilla-firefox +#www-client/opera +#x11-misc/googleearth diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_nettools b/install/builder/packages/desktop?calculate=CLD/desktop_nettools new file mode 100644 index 0000000..7aa6a3d --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_nettools @@ -0,0 +1,16 @@ +#------------------------------------------------------------------------------ +# Различные сетевые утилиты +#------------------------------------------------------------------------------ + +net-analyzer/iptraf +net-analyzer/tcpdump +net-analyzer/traceroute +net-dialup/minicom +net-dialup/ppp +net-dialup/pptpclient +net-ftp/ftp +net-misc/netkit-telnetd +net-misc/ntp #синхронизация времени +net-misc/openvpn +net-misc/whois +sys-apps/iproute2 diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_office b/install/builder/packages/desktop?calculate=CLD/desktop_office new file mode 100644 index 0000000..c49a7ee --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_office @@ -0,0 +1,35 @@ +#------------------------------------------------------------------------------ +# Офисные пакеты, просмотрщики +#------------------------------------------------------------------------------ + +#app-office/abiword +#app-office/gnumeric +app-office/languagetool #расширение OOo для проверки грамматики. +app-office/openoffice +#app-office/scribus #верстка +#app-text/acroread +#app-text/cuneiform-qt #Graphical interface to Cuneiform +#app-text/djview4 #формат поддерживается в KDE 4.2 +#app-text/kchmviewer #формат поддерживается в KDE 4.2 +#media-gfx/inkscape #векторная графика +#sci-misc/qcad #создание технических чертежей +#x11-misc/basket + +#------------------------------------------------ +# kdeoffice +#------------------------------------------------ +#app-i18n/koffice-i18n +#app-office/karbon +#app-office/kchart +#app-office/kexi +#app-office/kformula +#app-office/kivio +#app-office/koffice-data +#app-office/koffice-libs +#app-office/koshell +#app-office/kplato +#app-office/kpresenter +#app-office/krita +#app-office/kspread +#app-office/kugar +#app-office/kword diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_video b/install/builder/packages/desktop?calculate=CLD/desktop_video new file mode 100644 index 0000000..481b42f --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_video @@ -0,0 +1,16 @@ +#------------------------------------------------------------------------------ +# Программы для воспроизведения видео-файлов +#------------------------------------------------------------------------------ + +media-libs/win32codecs +#media-video/codeine +media-video/dvdauthor #создание DVD из kdenlive +media-video/dvgrab #захват через fireware для kdenlive +##media-video/gspcav1 #драйвер для веб-камер +#media-video/kaffeine +media-video/kdenlive +##media-video/linux-uvc #драйвер для веб-камер +media-video/recordmydesktop #захват с экрана для kdenlive +media-video/smplayer +#media-video/vlc #видео-плеер + diff --git a/install/builder/packages/desktop?calculate=CLD/desktop_wireless b/install/builder/packages/desktop?calculate=CLD/desktop_wireless new file mode 100644 index 0000000..467a2ef --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/desktop_wireless @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Беспроводные сети +#------------------------------------------------------------------------------ + +#net-wireless/kdebluetooth + diff --git a/install/builder/packages/desktop?calculate=CLD/x11_drivers b/install/builder/packages/desktop?calculate=CLD/x11_drivers new file mode 100644 index 0000000..7257bdf --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLD/x11_drivers @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Поддержка видеокарт +#------------------------------------------------------------------------------ + +#x11-drivers/ati-drivers + diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop b/install/builder/packages/desktop?calculate=CLDX/desktop new file mode 100644 index 0000000..f3c9bf7 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Основные программы рабочей станции +#------------------------------------------------------------------------------ + +#app-portage/porthole #а GTK+-based frontend to Portage + diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop_decoration b/install/builder/packages/desktop?calculate=CLDX/desktop_decoration new file mode 100644 index 0000000..c98676a --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop_decoration @@ -0,0 +1,22 @@ +#------------------------------------------------------------------------------ +# Декорации +#------------------------------------------------------------------------------ + +media-gfx/calculate-cldx-themes +#x11-themes/echo-icon-theme +#x11-themes/gnome-icon-theme +#x11-themes/gtk-engines +#x11-themes/gtk-engines-aurora +#x11-themes/gtk-engines-candido +#x11-themes/gtk-engines-cleanice +#x11-themes/gtk-engines-dwerg +#x11-themes/gtk-engines-experience +#x11-themes/gtk-engines-flat +#x11-themes/gtk-engines-murrine +##x11-themes/gtk-engines-nimbus +#x11-themes/gtk-engines-qtcurve +#x11-themes/gtk-engines-qtpixmap +#x11-themes/gtk-engines-rezlooks +#x11-themes/gtk-engines-ubuntulooks +x11-themes/tango-icon-theme + diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop_dict b/install/builder/packages/desktop?calculate=CLDX/desktop_dict new file mode 100644 index 0000000..a915709 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop_dict @@ -0,0 +1,13 @@ +#------------------------------------------------------------------------------ +# Словари +#------------------------------------------------------------------------------ +#Словари используются в OpenOffice.org, Claws +app-dicts/myspell-de +app-dicts/myspell-en +app-dicts/myspell-es +app-dicts/myspell-fr +app-dicts/myspell-pt +app-dicts/myspell-ru +app-dicts/myspell-uk + +app-dicts/stardict diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop_graphics b/install/builder/packages/desktop?calculate=CLDX/desktop_graphics new file mode 100644 index 0000000..d680e76 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop_graphics @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------ +# Работа с изображениями, векторная графика +#------------------------------------------------------------------------------ + +media-gfx/gimp +media-gfx/gqview +media-gfx/xsane +#media-plugins/kipi-plugins + diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop_hacker b/install/builder/packages/desktop?calculate=CLDX/desktop_hacker new file mode 100644 index 0000000..bd96d98 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop_hacker @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# Проверка надежности систем +#------------------------------------------------------------------------------ + +#app-crypt/truecrypt +#app-forensics/rkhunter +#net-analyzer/nessus +#net-analyzer/nmap +#net-analyzer/snort +#net-wireless/kismet diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop_home b/install/builder/packages/desktop?calculate=CLDX/desktop_home new file mode 100644 index 0000000..5450f7e --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop_home @@ -0,0 +1,12 @@ +#------------------------------------------------------------------------------ +# Набор софта для домашнего компьютера +#------------------------------------------------------------------------------ + +app-cdr/graveman +#app-misc/gcstar #personal collections manager +media-gfx/gtkam #A frontend for gPhoto 2 - redistributable digital camera software application +media-sound/audacious +#media-tv/tvtime +#net-p2p/linuxdcpp +#x11-themes/hicolor-icon-theme #набор иконок freedesktop +#x11-themes/gnome-icon-theme #набор иконок Gnome diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop_net b/install/builder/packages/desktop?calculate=CLDX/desktop_net new file mode 100644 index 0000000..6955abf --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop_net @@ -0,0 +1,13 @@ +#------------------------------------------------------------------------------ +# Сетевые приложения +#------------------------------------------------------------------------------ + +mail-client/claws-mail +mail-client/claws-mail-gtkhtml +mail-client/claws-mail-notification +mail-client/claws-mail-rssyl +#mail-client/mozilla-thunderbird +#mail-client/sylpheed +net-im/pidgin +www-client/mozilla-firefox +x11-plugins/pidgin-libnotify diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop_nettools b/install/builder/packages/desktop?calculate=CLDX/desktop_nettools new file mode 100644 index 0000000..7aa6a3d --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop_nettools @@ -0,0 +1,16 @@ +#------------------------------------------------------------------------------ +# Различные сетевые утилиты +#------------------------------------------------------------------------------ + +net-analyzer/iptraf +net-analyzer/tcpdump +net-analyzer/traceroute +net-dialup/minicom +net-dialup/ppp +net-dialup/pptpclient +net-ftp/ftp +net-misc/netkit-telnetd +net-misc/ntp #синхронизация времени +net-misc/openvpn +net-misc/whois +sys-apps/iproute2 diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop_office b/install/builder/packages/desktop?calculate=CLDX/desktop_office new file mode 100644 index 0000000..a2d3f94 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop_office @@ -0,0 +1,11 @@ +#------------------------------------------------------------------------------ +# Офисные пакеты, просмотрщики +#------------------------------------------------------------------------------ + +#app-office/abiword +#app-office/gnumeric +#app-office/languagetool #расширение OOo для проверки грамматики. +app-office/openoffice +#app-office/scribus #верстка +#app-text/acroread +#media-gfx/inkscape #векторная графика diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop_video b/install/builder/packages/desktop?calculate=CLDX/desktop_video new file mode 100644 index 0000000..ef91195 --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop_video @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Программы для воспроизведения видео-файлов +#------------------------------------------------------------------------------ + +media-libs/win32codecs +media-video/gnome-mplayer diff --git a/install/builder/packages/desktop?calculate=CLDX/desktop_xfce b/install/builder/packages/desktop?calculate=CLDX/desktop_xfce new file mode 100644 index 0000000..3304f7a --- /dev/null +++ b/install/builder/packages/desktop?calculate=CLDX/desktop_xfce @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------ +# XFCE +#------------------------------------------------------------------------------ + +x11-misc/slim +xfce-base/xfce4 +xfce-extra/xfce4-battery +x11-misc/xfce4-notifyd #Xfce4 notification daemon +xfce-extra/xfce4-screenshooter +xfce-extra/xfce4-xkb #XKB layout switching panel plugin diff --git a/install/builder/packages/server?calculate=CDS/server b/install/builder/packages/server?calculate=CDS/server new file mode 100644 index 0000000..45de907 --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server @@ -0,0 +1,13 @@ +#------------------------------------------------------------------------------ +# Основные серверные программы +#------------------------------------------------------------------------------ + +app-admin/hddtemp #температура жесткого диска +app-editors/vim +#dev-libs/cyrus-sasl +dev-python/pyserial #модуль для работы с последовательным портом +dev-util/subversion +sys-apps/calculate-server +sys-apps/smartmontools #проверка состояния HDD +sys-fs/mdadm #утилита для управления RAID массивами +sys-process/lsof #(LiSt of Open Files) вывод информации о том, какие файлы используются теми или иными процессами diff --git a/install/builder/packages/server?calculate=CDS/server_decoration b/install/builder/packages/server?calculate=CDS/server_decoration new file mode 100644 index 0000000..87db677 --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_decoration @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Декорации +#------------------------------------------------------------------------------ + +media-gfx/calculate-cds-themes +media-gfx/splashutils diff --git a/install/builder/packages/server?calculate=CDS/server_developer b/install/builder/packages/server?calculate=CDS/server_developer new file mode 100644 index 0000000..0b19326 --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_developer @@ -0,0 +1,7 @@ +#------------------------------------------------------------------------------ +# Инструменты разработчика +#------------------------------------------------------------------------------ + +dev-python/pyserial #работа с последовательным портом +sci-libs/fftw #библиотека быстрых преобразований фурье + diff --git a/install/builder/packages/server?calculate=CDS/server_file b/install/builder/packages/server?calculate=CDS/server_file new file mode 100644 index 0000000..2e47a70 --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_file @@ -0,0 +1,8 @@ +#------------------------------------------------------------------------------ +# Файловый сервер +#------------------------------------------------------------------------------ + +app-antivirus/clamav +net-fs/samba +sys-apps/acl #Access control list utilities, libraries and headers + diff --git a/install/builder/packages/server?calculate=CDS/server_guard b/install/builder/packages/server?calculate=CDS/server_guard new file mode 100644 index 0000000..5e91dca --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_guard @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Защита сервера +#------------------------------------------------------------------------------ + +net-analyzer/fail2ban #защита от подбора пароля сетевых служб + diff --git a/install/builder/packages/server?calculate=CDS/server_hacker b/install/builder/packages/server?calculate=CDS/server_hacker new file mode 100644 index 0000000..8e847fa --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_hacker @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Проверка надежности систем +#------------------------------------------------------------------------------ + +net-analyzer/nmap + diff --git a/install/builder/packages/server?calculate=CDS/server_mail b/install/builder/packages/server?calculate=CDS/server_mail new file mode 100644 index 0000000..ade3c5f --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_mail @@ -0,0 +1,11 @@ +#------------------------------------------------------------------------------ +# Почтовый сервер +#------------------------------------------------------------------------------ + +mail-filter/clamsmtp +mail-filter/postgrey #сервер для организации серых списков в postfix +mail-filter/procmail #агент доставки почты +mail-filter/spamassassin #набор фильтров для проверки сообщения на спам +net-mail/dovecot #почтовый IMAP и POP3 сервер +net-mail/fetchmail #сбор почты с удалённых почтовых серверов +mail-mta/postfix #MTA diff --git a/install/builder/packages/server?calculate=CDS/server_media b/install/builder/packages/server?calculate=CDS/server_media new file mode 100644 index 0000000..225e1b4 --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_media @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Мультимедиа софт +#------------------------------------------------------------------------------ + +media-video/mplayer + diff --git a/install/builder/packages/server?calculate=CDS/server_net b/install/builder/packages/server?calculate=CDS/server_net new file mode 100644 index 0000000..888d00b --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_net @@ -0,0 +1,17 @@ +#------------------------------------------------------------------------------ +# Сетевые сервисы +#------------------------------------------------------------------------------ + +net-dialup/freeradius #Radius-сервер +net-dns/bind #DNS сервер +net-irc/cgiirc #IRC Web-клиент +net-irc/weechat #IRC клиент +net-misc/dhcp #DHCP сервер +net-misc/faxsend #Факсовая рассылка +net-nds/openldap #LDAP сервер +net-p2p/bittorrent #BitTorrent сервер +net-p2p/btpd #BitTorrent клиент +net-proxy/squid #Proxy сервер +net-ftp/proftpd #FTP сервер +sys-apps/ifplugd #автоматическое поднятие сетевых карт при подключении кабеля + diff --git a/install/builder/packages/server?calculate=CDS/server_nettools b/install/builder/packages/server?calculate=CDS/server_nettools new file mode 100644 index 0000000..b96fbcf --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_nettools @@ -0,0 +1,29 @@ +#------------------------------------------------------------------------------ +# Различные сетевые утилиты +#------------------------------------------------------------------------------ +#rejic havp +#net-analyzer/bmon +net-analyzer/ipcad #учёт трафика +net-analyzer/iptraf +net-analyzer/sarg #Squid Analysis Report Generator +net-analyzer/tcpdump +net-analyzer/traceroute +net-analyzer/vnstat #монитор трафика +net-dialup/minicom +net-dialup/ppp +net-dialup/pptpclient +net-dialup/pptpd +net-dns/bind-tools +net-dns/ddclient #Perl updater client for dynamic DNS services +net-ftp/ftp +net-im/calculate-ejabberd +net-misc/netkit-telnetd +net-misc/ntp #синхронизация времени +net-misc/whois +#net-p2p/mldonkey +net-proxy/havp #HTTP AntiVirus Proxy +sys-apps/iproute2 +sys-auth/nss_ldap #авторизация в ldap-сервере +sys-auth/pam_ldap #-..- +www-client/links + diff --git a/install/builder/packages/server?calculate=CDS/server_sql b/install/builder/packages/server?calculate=CDS/server_sql new file mode 100644 index 0000000..766ef18 --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_sql @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# Сервер баз данных +#------------------------------------------------------------------------------ + +dev-db/postgresql-server +dev-python/psycopg diff --git a/install/builder/packages/server?calculate=CDS/server_tools b/install/builder/packages/server?calculate=CDS/server_tools new file mode 100644 index 0000000..0de9917 --- /dev/null +++ b/install/builder/packages/server?calculate=CDS/server_tools @@ -0,0 +1,7 @@ +#------------------------------------------------------------------------------ +# Различные утилиты +#------------------------------------------------------------------------------ + +app-admin/testdisk +app-misc/screen + diff --git a/install/builder/profile/0builder/etc/issue b/install/builder/profile/0builder/etc/issue new file mode 100644 index 0000000..d8f23ce --- /dev/null +++ b/install/builder/profile/0builder/etc/issue @@ -0,0 +1,3 @@ + +Welcome to \n.\O (#-calculatename-# #-linuxver-#) + diff --git a/install/builder/profile/0builder/etc/locale.gen b/install/builder/profile/0builder/etc/locale.gen new file mode 100644 index 0000000..7b9caf8 --- /dev/null +++ b/install/builder/profile/0builder/etc/locale.gen @@ -0,0 +1,40 @@ +#-title-# + +#Belarussian +be_BY.UTF-8 UTF-8 +be_BY CP1251 +#Belgian +fr_BE.UTF-8 UTF-8 +#Brazilian Portuguese +pt_BR.UTF-8 UTF-8 +#Canadian French +fr_CA.UTF-8 UTF-8 +#Danish +da_DK.UTF-8 UTF-8 +#French +fr_FR.UTF-8 UTF-8 +#German +de_DE.UTF-8 UTF-8 +#Icelandic +is_IS.UTF-8 UTF-8 +#Italian +it_IT.UTF-8 UTF-8 +#Norwegian +nn_NO.UTF-8 UTF-8 +#Polish +pl_PL.UTF-8 UTF-8 +#Russian +ru_RU.UTF-8 UTF-8 +ru_RU.KOI8-R KOI8-R +#Spanish +es_ES.UTF-8 UTF-8 +#Swedish +sv_SE.UTF-8 UTF-8 +#Ukrainian +uk_UA.UTF-8 UTF-8 +uk_UA KOI8-U +#United Kingdom/British +en_GB.UTF-8 UTF-8 +#United State/English +en_US.UTF-8 UTF-8 + diff --git a/install/builder/profile/0builder/etc/make.conf b/install/builder/profile/0builder/etc/make.conf new file mode 100644 index 0000000..a3fadd1 --- /dev/null +++ b/install/builder/profile/0builder/etc/make.conf @@ -0,0 +1,33 @@ +#-title-# + +#?march=i686&calculate!=CLDX# +CFLAGS="-O2 -march=i686 -pipe" +CHOST="i686-pc-linux-gnu" +#march# +#?march=i686&calculate=CLDX# +CFLAGS="-O2 -march=i686 -pipe" +CHOST="i686-pc-linux-gnu" +#march# +#?march=x86_64# +CFLAGS="-O2 -march=k8 -pipe" +CHOST="x86_64-pc-linux-gnu" +#march# + +#USE lines: #-uselist-# + +USE="#-use-#" + +LINGUAS="#-linguas-#" +AUTOCLEAN="yes" +ALSA_CARDS="ca0106 emu10k1 hda-intel intel8x0 intel8x0m pcsp via82xx" +FOO2ZJS_DEVICES="*" +CAMERAS="*" +#GENTOO_MIRRORS="#-gentoo_mirrors-#" +DISTDIR="#-distdir-#" +PORTDIR_OVERLAY="#-portdir-#" +#-unmerge-orphans for cracklib +FEATURES="parallel-fetch -unmerge-orphans" +PORTAGE_NICENESS=19 +VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv radeon savage sis tdfx trident vesa vga via vmware" +INPUT_DEVICES="keyboard mouse evdev synaptics" + diff --git a/install/builder/profile/0builder/etc/portage/package.keywords/CLD?calculate=CLD b/install/builder/profile/0builder/etc/portage/package.keywords/CLD?calculate=CLD new file mode 100644 index 0000000..60d5169 --- /dev/null +++ b/install/builder/profile/0builder/etc/portage/package.keywords/CLD?calculate=CLD @@ -0,0 +1,24 @@ +#-title-# + +app-cdr/k3b #-unmask-# +app-emulation/virtualbox-bin #-unmask-# +app-emulation/virtualbox-guest-additions #-unmask-# +app-text/kchmviewer #-unmask-# +kde-misc/kgtk #-unmask-# +kde-misc/webkit-kpart ** +media-gfx/digikam #-unmask-# +media-plugins/kipi-plugins #-unmask-# +media-sound/amarok #-unmask-# +net-p2p/ktorrent #-unmask-# +#x11-libs/qt-core #-unmask-# +#x11-libs/qt-dbus #-unmask-# +#x11-libs/qt-gui #-unmask-# +#x11-libs/qt-opengl #-unmask-# +#x11-libs/qt-qt3support #-unmask-# +#x11-libs/qt-script #-unmask-# +#x11-libs/qt-sql #-unmask-# +#x11-libs/qt-svg #-unmask-# +#x11-libs/qt-test #-unmask-# +#x11-libs/qt-webkit #-unmask-# +x11-themes/gtk-engines-qtcurve #-unmask-# + diff --git a/install/builder/profile/0builder/etc/portage/package.keywords/CLDX?calculate=CLDX b/install/builder/profile/0builder/etc/portage/package.keywords/CLDX?calculate=CLDX new file mode 100644 index 0000000..cf61a6d --- /dev/null +++ b/install/builder/profile/0builder/etc/portage/package.keywords/CLDX?calculate=CLDX @@ -0,0 +1,5 @@ +#-title-# + +media-sound/audacious #-unmask-# +xfce-base/xfce4 #-unmask-# + diff --git a/install/builder/profile/0builder/etc/portage/package.keywords/default b/install/builder/profile/0builder/etc/portage/package.keywords/default new file mode 100644 index 0000000..ab74222 --- /dev/null +++ b/install/builder/profile/0builder/etc/portage/package.keywords/default @@ -0,0 +1,27 @@ +#-title-# + +app-misc/mc #-unmask-# +dev-db/postgresql-base #-unmask-# +dev-db/postgresql-server #-unmask-# +media-gfx/splashutils #-unmask-# +media-libs/mesa #-unmask-# +media-video/mplayer #-unmask-# +net-nds/luma #-unmask-# +net-nds/openldap #-unmask-# +sys-kernel/genkernel #-unmask-# +virtual/postgresql-base #-unmask-# +virtual/postgresql-server #-unmask-# +x11-base/xorg-x11 #-unmask-# +x11-drivers/ati-drivers #-unmask-# +x11-drivers/xf86-video-radeonhd #-unmask-# +x11-drivers/xf86-video-ati #-unmask-# +x11-drivers/xf86-video-intel #-unmask-# +x11-drivers/xf86-video-nv #-unmask-# +x11-drivers/nvidia-drivers #-unmask-# + +sys-apps/openrc #-unmask-# +sys-apps/baselayout #-unmask-# +sys-apps/sysvinit #-unmask-# +sys-fs/cryptsetup #-unmask-# +sys-fs/udev #-unmask-# + diff --git a/install/builder/profile/0builder/etc/portage/package.keywords/dependence b/install/builder/profile/0builder/etc/portage/package.keywords/dependence new file mode 100644 index 0000000..1e07e72 --- /dev/null +++ b/install/builder/profile/0builder/etc/portage/package.keywords/dependence @@ -0,0 +1,2 @@ +#-title-# + diff --git a/install/builder/profile/0builder/etc/portage/package.keywords/desktop?system=desktop b/install/builder/profile/0builder/etc/portage/package.keywords/desktop?system=desktop new file mode 100644 index 0000000..41210b4 --- /dev/null +++ b/install/builder/profile/0builder/etc/portage/package.keywords/desktop?system=desktop @@ -0,0 +1,10 @@ +#-title-# + +=app-office/openoffice-3.0.1 #-unmask-# +dev-db/pgadmin3 #-unmask-# +media-gfx/gimp #-unmask-# +media-libs/libgphoto2 #-unmask-# +net-print/gutenprint #-unmask-# +net-misc/wicd #-unmask-# +www-client/mozilla-firefox #-unmask-# + diff --git a/install/builder/profile/0builder/etc/portage/package.keywords/kde?calculate=CLD b/install/builder/profile/0builder/etc/portage/package.keywords/kde?calculate=CLD new file mode 100644 index 0000000..f593f83 --- /dev/null +++ b/install/builder/profile/0builder/etc/portage/package.keywords/kde?calculate=CLD @@ -0,0 +1,4 @@ +#-title-# + +#-keywords:kde-base-# + diff --git a/install/builder/profile/0builder/etc/portage/package.keywords/using b/install/builder/profile/0builder/etc/portage/package.keywords/using new file mode 100644 index 0000000..9c02bac --- /dev/null +++ b/install/builder/profile/0builder/etc/portage/package.keywords/using @@ -0,0 +1,3 @@ +# Insert yours packages + + diff --git a/install/builder/profile/0builder/etc/portage/package.mask/CDS?calculate=CDS b/install/builder/profile/0builder/etc/portage/package.mask/CDS?calculate=CDS new file mode 100644 index 0000000..0762683 --- /dev/null +++ b/install/builder/profile/0builder/etc/portage/package.mask/CDS?calculate=CDS @@ -0,0 +1,4 @@ +#-title-# + +#-themes-# +>x11-drivers/xf86-video-intel-2.5.1-r9 + + (пример: /etc/splash/default) +#text_font= + +#двигающаяся полоска прогрессбара в Silent +box silent noover 360 408 664 414 #8B8B8B +box silent inter 360 409 360 414 #ffffff #ffffff #D48D17 #D48D17 +box silent 360 409 664 414 #ffffff #ffffff #D48D17 #D48D17 + +#рамка прогресс бара в Silent +box silent 360 408 664 408 #313234 +box silent 360 414 664 414 #eef4ff +box silent 360 408 360 414 #313234 +box silent 664 408 664 414 #eef4ff + +#фон текстового поля в Verbose +box noover 20 20 1004 678 #1B2D3A + +#рамка вокруг текстового поля в Verbose +box 19 19 19 679 #313234 +box 19 19 1005 19 #313234 +box 1005 19 1005 679 #eef4ff +box 19 679 1005 679 #eef4ff + diff --git a/install/builder/profile/IMG/etc/splash/tty2/1024x768.cfg b/install/builder/profile/IMG/etc/splash/tty2/1024x768.cfg new file mode 100644 index 0000000..b9d30f4 --- /dev/null +++ b/install/builder/profile/IMG/etc/splash/tty2/1024x768.cfg @@ -0,0 +1,23 @@ +#-title-# + +bgcolor=0 + +tx=25 +ty=28 +tw=979 +th=649 + +text_x=204 +text_y=544 +text_size=26 +text_color=0xeef4ff + +pic=/etc/splash/tty2/images/verbose-tty2.jpg +silentpic=/etc/splash/tty1/images/silent-tty1.jpg + +box noover 20 20 1004 678 #1B2D3A +box 19 19 19 679 #313234 +box 19 19 1005 19 #313234 +box 1005 19 1005 679 #eef4ff +box 19 679 1005 679 #eef4ff + diff --git a/install/builder/profile/IMG/etc/splash/tty3/1024x768.cfg b/install/builder/profile/IMG/etc/splash/tty3/1024x768.cfg new file mode 100644 index 0000000..c224319 --- /dev/null +++ b/install/builder/profile/IMG/etc/splash/tty3/1024x768.cfg @@ -0,0 +1,23 @@ +#-title-# + +bgcolor=0 + +tx=25 +ty=28 +tw=979 +th=649 + +text_x=204 +text_y=544 +text_size=26 +text_color=0xeef4ff + +pic=/etc/splash/tty3/images/verbose-tty3.jpg +silentpic=/etc/splash/tty1/images/silent-tty1.jpg + +box noover 20 20 1004 678 #1B2D3A +box 19 19 19 679 #313234 +box 19 19 1005 19 #313234 +box 1005 19 1005 679 #eef4ff +box 19 679 1005 679 #eef4ff + diff --git a/install/builder/profile/IMG/etc/splash/tty4/1024x768.cfg b/install/builder/profile/IMG/etc/splash/tty4/1024x768.cfg new file mode 100644 index 0000000..b862418 --- /dev/null +++ b/install/builder/profile/IMG/etc/splash/tty4/1024x768.cfg @@ -0,0 +1,23 @@ +#-title-# + +bgcolor=0 + +tx=25 +ty=28 +tw=979 +th=649 + +text_x=204 +text_y=544 +text_size=26 +text_color=0xeef4ff + +pic=/etc/splash/tty4/images/verbose-tty4.jpg +silentpic=/etc/splash/tty1/images/silent-tty1.jpg + +box noover 20 20 1004 678 #1B2D3A +box 19 19 19 679 #313234 +box 19 19 1005 19 #313234 +box 1005 19 1005 679 #eef4ff +box 19 679 1005 679 #eef4ff + diff --git a/install/builder/profile/IMG/etc/splash/tty5/1024x768.cfg b/install/builder/profile/IMG/etc/splash/tty5/1024x768.cfg new file mode 100644 index 0000000..52dea63 --- /dev/null +++ b/install/builder/profile/IMG/etc/splash/tty5/1024x768.cfg @@ -0,0 +1,23 @@ +#-title-# + +bgcolor=0 + +tx=25 +ty=28 +tw=979 +th=649 + +text_x=204 +text_y=544 +text_size=26 +text_color=0xeef4ff + +pic=/etc/splash/tty5/images/verbose-tty5.jpg +silentpic=/etc/splash/tty1/images/silent-tty1.jpg + +box noover 20 20 1004 678 #1B2D3A +box 19 19 19 679 #313234 +box 19 19 1005 19 #313234 +box 1005 19 1005 679 #eef4ff +box 19 679 1005 679 #eef4ff + diff --git a/install/builder/profile/IMG/etc/splash/tty6/1024x768.cfg b/install/builder/profile/IMG/etc/splash/tty6/1024x768.cfg new file mode 100644 index 0000000..0c55f9b --- /dev/null +++ b/install/builder/profile/IMG/etc/splash/tty6/1024x768.cfg @@ -0,0 +1,23 @@ +#-title-# + +bgcolor=0 + +tx=25 +ty=28 +tw=979 +th=649 + +text_x=204 +text_y=544 +text_size=26 +text_color=0xeef4ff + +pic=/etc/splash/tty6/images/verbose-tty6.jpg +silentpic=/etc/splash/tty1/images/silent-tty1.jpg + +box noover 20 20 1004 678 #1B2D3A +box 19 19 19 679 #313234 +box 19 19 1005 19 #313234 +box 1005 19 1005 679 #eef4ff +box 19 679 1005 679 #eef4ff + diff --git a/install/builder/profile/ISO/calculate/etc/^rc.conf b/install/builder/profile/ISO/calculate/etc/^rc.conf new file mode 100644 index 0000000..8bb7449 --- /dev/null +++ b/install/builder/profile/ISO/calculate/etc/^rc.conf @@ -0,0 +1,5 @@ +#-title-# + +#запрет отмонтирования ресурсов, созданных в ramfs +no_umounts="/newroot.*:/lib/splash/cache:/lib64/splash/cache" + diff --git a/install/builder/profile/ISO/calculate/etc/conf.d/hostname b/install/builder/profile/ISO/calculate/etc/conf.d/hostname new file mode 100644 index 0000000..d77f5fa --- /dev/null +++ b/install/builder/profile/ISO/calculate/etc/conf.d/hostname @@ -0,0 +1,4 @@ +#-title-# + +HOSTNAME="calculate" + diff --git a/install/builder/profile/ISO/calculate/etc/conf.d/hwclock b/install/builder/profile/ISO/calculate/etc/conf.d/hwclock new file mode 100644 index 0000000..e47f1ad --- /dev/null +++ b/install/builder/profile/ISO/calculate/etc/conf.d/hwclock @@ -0,0 +1,15 @@ +#-title-# +# Set CLOCK to "UTC" if your system clock is set to UTC (also known as +# Greenwich Mean Time). If your clock is set to the local time, then +# set CLOCK to "local". Note that if you dual boot with Windows, then +# you should set it to "local". +clock="#-clock-#" + +# If you want to set the Hardware Clock to the current System Time +# during shutdown, then say "YES" here. +# You normally don't need to do this if you run a ntp daemon. +clock_systohc="NO" + +# If you wish to pass any other arguments to hwclock during bootup, +# you may do so here. Alpha users may wish to use --arc or --srm here. +clock_args="" diff --git a/install/builder/profile/ISO/calculate/etc/fstab b/install/builder/profile/ISO/calculate/etc/fstab new file mode 100644 index 0000000..885366c --- /dev/null +++ b/install/builder/profile/ISO/calculate/etc/fstab @@ -0,0 +1,7 @@ +#-title-# + +/dev/loop0 / squashfs ro,defaults 0 0 + +proc /proc proc defaults 0 0 +shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 + diff --git a/install/builder/profile/ISO/calculate/etc/init.d/calculate b/install/builder/profile/ISO/calculate/etc/init.d/calculate new file mode 100755 index 0000000..5bbe227 --- /dev/null +++ b/install/builder/profile/ISO/calculate/etc/init.d/calculate @@ -0,0 +1,31 @@ +#!/sbin/runscript +#-title-# + +depend() { + need localmount root fsck modules +} + +start() { + /usr/calculate/install/calculate -P all + # update system time, after appling profiles + hwclock --hctosys + /usr/local/bin/livecd.sh + + /usr/sbin/env-update + source /etc/profile + /sbin/update-modules + + #support flash for x86_64 + if [ -e /usr/lib32/nsbrowser/plugins/libflashplayer.so ] + then + /usr/bin/nspluginwrapper -v -i /usr/lib32/nsbrowser/plugins/libflashplayer.so &>/dev/null && /usr/bin/nspluginwrapper -a + fi +} + +#stop() { + +#} + +#restart() { + +#} diff --git a/install/builder/profile/ISO/calculate/etc/init.d/device-mapper?linuxver>9.4.3&linuxver<=9.5 b/install/builder/profile/ISO/calculate/etc/init.d/device-mapper?linuxver>9.4.3&linuxver<=9.5 new file mode 100755 index 0000000..ec166b4 --- /dev/null +++ b/install/builder/profile/ISO/calculate/etc/init.d/device-mapper?linuxver>9.4.3&linuxver<=9.5 @@ -0,0 +1,26 @@ +#!/sbin/runscript +#-title-# +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/device-mapper/files/device-mapper.rc-1.02.22-r3,v 1.8 2008/12/18 21:52:25 cardoe Exp $ + +depend() { + # necessary for services when using baselayout-2 + # but conflict for baselayout-1 + if [ -e /etc/init.d/root ] ; then + after modules + before checkfs fsck + fi +} + +start() { + if [ ! -e /etc/init.d/root ] ; then + eerror "The ${SVCNAME} init script is written for baselayout-2" + eerror "Please do not use it with baselayout-1" + return 1 + fi + + #start_addon dm + source /lib/rcscripts/addons/dm-start.sh +} + diff --git a/install/builder/profile/ISO/calculate/etc/mtab b/install/builder/profile/ISO/calculate/etc/mtab new file mode 100644 index 0000000..e69de29 diff --git a/install/builder/profile/ISO/calculate/etc/runlevels/boot/calculate b/install/builder/profile/ISO/calculate/etc/runlevels/boot/calculate new file mode 120000 index 0000000..beb36a5 --- /dev/null +++ b/install/builder/profile/ISO/calculate/etc/runlevels/boot/calculate @@ -0,0 +1 @@ +/etc/init.d/calculate \ No newline at end of file diff --git a/install/builder/profile/ISO/calculate/etc/sudoers b/install/builder/profile/ISO/calculate/etc/sudoers new file mode 100644 index 0000000..701122a --- /dev/null +++ b/install/builder/profile/ISO/calculate/etc/sudoers @@ -0,0 +1,4 @@ +Defaults env_reset +root ALL=(ALL) ALL +%wheel ALL=(ALL) NOPASSWD: ALL +%vboxusers ALL=NOPASSWD:/sbin/modprobe vboxdrv diff --git a/install/builder/profile/ISO/calculate/usr/sbin/calculate b/install/builder/profile/ISO/calculate/usr/sbin/calculate new file mode 120000 index 0000000..df5b350 --- /dev/null +++ b/install/builder/profile/ISO/calculate/usr/sbin/calculate @@ -0,0 +1 @@ +/usr/calculate/install/calculate \ No newline at end of file diff --git a/install/builder/profile/ISO/target/boot/memtest86plus/memtest.bin b/install/builder/profile/ISO/target/boot/memtest86plus/memtest.bin new file mode 100644 index 0000000..49d6c68 Binary files /dev/null and b/install/builder/profile/ISO/target/boot/memtest86plus/memtest.bin differ diff --git a/install/builder/profile/ISO/target/isolinux/back.jpg b/install/builder/profile/ISO/target/isolinux/back.jpg new file mode 100644 index 0000000..ef003b3 Binary files /dev/null and b/install/builder/profile/ISO/target/isolinux/back.jpg differ diff --git a/install/builder/profile/ISO/target/isolinux/common.cfg b/install/builder/profile/ISO/target/isolinux/common.cfg new file mode 100644 index 0000000..15ee30f --- /dev/null +++ b/install/builder/profile/ISO/target/isolinux/common.cfg @@ -0,0 +1,26 @@ +PROMPT 0 +TIMEOUT 300 +MENU TABMSG F1 Help | F2 Language | F3 Keymap | F4 Timezone | F5 Video | Tab Edit options + +MENU BACKGROUND back.jpg + +MENU WIDTH 58 +MENU MARGIN 0 +MENU ROWS 14 +MENU HELPMSGROW 19 +MENU TIMEOUTROW 19 +MENU TABMSGROW 30 +MENU CMDLINEROW 22 +MENU VSHIFT 3 +MENU HSHIFT 20 + +MENU COLOR title 31;40 #90fea817 #00000000 std +MENU COLOR border 30;44 #00ffffff #00000000 none +MENU COLOR sel 37;40 #a0000000 #25ffffff all +menu color tabmsg 31;40 #90fea817 #00000000 std + +F1 f1.txt +F2 calcmenu.c32 lang.cfg +F3 calcmenu.c32 keymap.cfg +F4 calcmenu.c32 timezone.cfg +F5 calcmenu.c32 vga.cfg diff --git a/install/builder/profile/ISO/target/isolinux/f1.txt b/install/builder/profile/ISO/target/isolinux/f1.txt new file mode 100755 index 0000000..bedc736 --- /dev/null +++ b/install/builder/profile/ISO/target/isolinux/f1.txt @@ -0,0 +1,22 @@ + + + + + 07Calculate Linux Installation LiveCD + + + Welcome to Calculate Linux Live CD. + + Before loading the operating system, you may choose + language, keymap, timezone and resolution, by using + F2-F5 keys. + + The live system does not require space on your harddisk. + + If you can't start Calculate Linux, dont't dispair! + We are ready to help you! + + Thank you for choosing Calculate Linux! + + See our web site for more information, + http://www.calculate-linux.org diff --git a/install/builder/profile/ISO/target/isolinux/isolinux.cfg b/install/builder/profile/ISO/target/isolinux/isolinux.cfg new file mode 100755 index 0000000..5262261 --- /dev/null +++ b/install/builder/profile/ISO/target/isolinux/isolinux.cfg @@ -0,0 +1,32 @@ +DEFAULT calcmenu.c32 +INCLUDE common.cfg + +MENU TITLE Welcome to Calculate Linux + +#?system=desktop# +LABEL cld + MENU LABEL #-calculatename-# #-march-# #-linuxver-# #-calculatesubname-# LiveDVD + KERNEL /boot/vmlinuz + APPEND root=/dev/ram0 initrd=/boot/initrd init=/linuxrc looptype=squashfs unionfs doload=squashfs,unionfs loop=/livecd.squashfs nodevfs cdroot video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume doscsi + +LABEL cld-nox + MENU LABEL #-calculatename-# #-march-# #-linuxver-# #-calculatesubname-# LiveDVD (No-X) + KERNEL /boot/vmlinuz + APPEND root=/dev/ram0 initrd=/boot/initrd init=/linuxrc looptype=squashfs unionfs doload=squashfs,unionfs loop=/livecd.squashfs nodevfs cdroot video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume doscsi nox +#system# + +#?system=server# +LABEL cds + MENU LABEL #-calculatename-# #-linuxver-# #-march-# LiveDVD + KERNEL /boot/vmlinuz + APPEND root=/dev/ram0 initrd=/boot/initrd init=/linuxrc looptype=squashfs unionfs doload=squashfs,unionfs loop=/livecd.squashfs nodevfs cdroot video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume elevator=deadline + +LABEL cds-nox + MENU LABEL #-calculatename-# #-linuxver-# #-march-# LiveDVD (No-FB) + KERNEL /boot/vmlinuz + APPEND root=/dev/ram0 initrd=/boot/initrd init=/linuxrc looptype=squashfs unionfs doload=squashfs,unionfs loop=/livecd.squashfs nodevfs cdroot video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume elevator=deadline nofb +#system# + +LABEL memtest + MENU LABEL Memtest86+ + KERNEL memtest diff --git a/install/builder/profile/ISO/target/isolinux/isolinux.txt b/install/builder/profile/ISO/target/isolinux/isolinux.txt new file mode 100755 index 0000000..50bce4d --- /dev/null +++ b/install/builder/profile/ISO/target/isolinux/isolinux.txt @@ -0,0 +1,8 @@ +splash.rle +0f + +Welcome to Sabayon 4.1 + +Press F1control and F then 1 for help and advanced boot modes. +Automatic Monitor detection, to force a resolution use res=.07 + diff --git a/install/builder/profile/ISO/target/isolinux/keymap.cfg b/install/builder/profile/ISO/target/isolinux/keymap.cfg new file mode 100644 index 0000000..727a965 --- /dev/null +++ b/install/builder/profile/ISO/target/isolinux/keymap.cfg @@ -0,0 +1,92 @@ +DEFAULT calcmenu.c32 +MENU TITLE Select Keymap + +INCLUDE common.cfg + +MENUPARAM calculate 1 + +LABEL en_US + MENU LABEL English,USA + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,en_US + +LABEL en_GB + MENU LABEL English,GB + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,en_GB + +LABEL be_BY + MENU LABEL Belarusian + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,be_BY + +LABEL pt_BR + MENU LABEL Brazilian + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,pt_BR + +LABEL da_DK + MENU LABEL Danish + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,da_DK + +LABEL fr_BE + MENU LABEL Belgium + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,fr_BE + +LABEL fr_FR + MENU LABEL French + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,fr_FR + +LABEL fr_CA + MENU LABEL French,Canada + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,fr_CA + +LABEL de_DE + MENU LABEL German + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,de_DE + +LABEL is_IS + MENU LABEL Icelandic + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,is_IS + +LABEL it_IT + MENU LABEL Italian + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,it_IT + +LABEL nn_NO + MENU LABEL Norwegian,Nynorsk + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,nn_NO + +LABEL pl_PL + MENU LABEL Polish + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,pl_PL + +LABEL ru_RU + MENU LABEL Russian + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,ru_RU + +LABEL es_ES + MENU LABEL Spanish + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,es_ES + +LABEL sv_SE + MENU LABEL Swedish + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,sv_SE + +LABEL uk_UA + MENU LABEL Ukrainian + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,uk_UA + diff --git a/install/builder/profile/ISO/target/isolinux/lang.cfg b/install/builder/profile/ISO/target/isolinux/lang.cfg new file mode 100755 index 0000000..b9a4168 --- /dev/null +++ b/install/builder/profile/ISO/target/isolinux/lang.cfg @@ -0,0 +1,42 @@ +DEFAULT calcmenu.c32 +MENU TITLE Select Language + +INCLUDE common.cfg + +MENUPARAM calculate 0 + +LABEL en_US + MENU LABEL American English + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=en_US,en_US,Canada/Pacific + +LABEL pt_BR + MENU LABEL Brazilian Portuguese + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=pt_BR,pt_BR,America/Sao_Paulo + +LABEL de_DE + MENU LABEL Deutsch + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=de_DE,de_DE,Europe/Amsterdam + +LABEL fr_FR + MENU LABEL Francais + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=fr_FR,fr_FR,Europe/Brussels + +LABEL ru_RU + MENU LABEL Russian + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=ru_RU,ru_RU,Europe/Moscow + +LABEL es_ES + MENU LABEL Espanol + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=es_ES,es_ES,Europe/Brussels + +LABEL uk_UA + MENU LABEL Ukrainian + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=uk_UA,uk_UA,Europe/Kiev + diff --git a/install/builder/profile/ISO/target/isolinux/timezone.cfg b/install/builder/profile/ISO/target/isolinux/timezone.cfg new file mode 100755 index 0000000..3dd9a7d --- /dev/null +++ b/install/builder/profile/ISO/target/isolinux/timezone.cfg @@ -0,0 +1,436 @@ +DEFAULT calcmenu.c32 +MENU TITLE Select Timezone + +INCLUDE common.cfg + +MENUPARAM calculate 2 + +LABEL Etc/GMT-12 + MENU LABEL (GMT-12:00) International Date Line West + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Etc/GMT-12 + +LABEL Pacific/Midway + MENU LABEL (GMT-11:00) Midway Island,Samoa + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Pacific/Midway + +LABEL Pacific/Honolulu + MENU LABEL (GMT-10:00) Hawaii + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Pacific/Honolulu + +LABEL America/Anchorage + MENU LABEL (GMT-09:00) Alaska + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Anchorage + +LABEL Canada/Pacific + MENU LABEL (GMT-08:00) Pacific Time (US & Canada) + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Canada/Pacific + +LABEL America/Tijuana + MENU LABEL (GMT-08:00) Tijuana,Baja California + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Tijuana + +LABEL America/Phoenix + MENU LABEL (GMT-07:00) Arizona + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Phoenix + +LABEL America/Denver + MENU LABEL (GMT-07:00) Mountain Time (US & Canada) + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Denver + +LABEL America/Mazatlan + MENU LABEL (GMT-07:00) Chihuahua,La Paz,Mazatlan - New + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Mazatlan + +LABEL America/Mazatlan + MENU LABEL (GMT-07:00) Chihuahua,La Paz,Mazatlan - Old + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Mazatlan + +LABEL America/Monterrey + MENU LABEL (GMT-06:00) Guadalajara,Mexico City,Monterrey - New + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Monterrey + +LABEL America/Monterrey + MENU LABEL (GMT-06:00) Guadalajara,Mexico City,Monterrey - Old + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Monterrey + +LABEL America/Regina + MENU LABEL (GMT-06:00) Saskatchewan + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Regina + +LABEL America/Mexico_City + MENU LABEL (GMT-06:00) Central America + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Mexico_City + +LABEL Canada/Central + MENU LABEL (GMT-06:00) Central Time (US & Canada) + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Canada/Central + +LABEL America/Bogota + MENU LABEL (GMT-05:00) Bogota,Lima,Quito,Rio Branco + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Bogota + +LABEL America/New_York + MENU LABEL (GMT-05:00) Eastern Time (US & Canada) + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/New_York + +LABEL America/Indiana/Indianapolis + MENU LABEL (GMT-05:00) Indiana (East) + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Indiana/Indianapolis + +LABEL America/Halifax + MENU LABEL (GMT-04:00) Atlantic Time (Canada) + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Halifax + +LABEL America/Caracas + MENU LABEL (GMT-04:00) Caracas,La Paz + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Caracas + +LABEL America/Manaus + MENU LABEL (GMT-04:00) Manaus + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Manaus + +LABEL America/Santiago + MENU LABEL (GMT-04:00) Santiago + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Santiago + +LABEL America/St_Johns + MENU LABEL (GMT-03:30) Newfoundland + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/St_Johns + +LABEL America/Sao_Paulo + MENU LABEL (GMT-03:00) Brasilia + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Sao_Paulo + +LABEL America/Argentina/Buenos_Aires + MENU LABEL (GMT-03:00) Buenos Aires,Georgetown + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Argentina/Buenos_Aires + +LABEL Etc/GMT+3 + MENU LABEL (GMT-03:00) Greenland + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Etc/GMT+3 + +LABEL America/Montevideo + MENU LABEL (GMT-03:00) Montevideo + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,America/Montevideo + +LABEL Atlantic/South_Georgia + MENU LABEL (GMT-02:00) Mid-Atlantic + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Atlantic/South_Georgia + +LABEL Atlantic/Azores + MENU LABEL (GMT-01:00) Azores + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Atlantic/Azores + +LABEL Atlantic/Cape_Verde + MENU LABEL (GMT-01:00) Cape Verde Is. + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Atlantic/Cape_Verde + +LABEL UTC + MENU LABEL (GMT+00:00) Greenwich Mean Time: Dublin,Edinburgh,Lisbon,London + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,UTC + +LABEL Africa/Casablanca + MENU LABEL (GMT+00:00) Casablanca,Monrovia,Reykjavik + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Africa/Casablanca + +LABEL Europe/Amsterdam + MENU LABEL (GMT+01:00) Amsterdam,Berlin,Bern,Rome,Stockholm,Vienna + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Europe/Amsterdam + +LABEL Europe/Belgrade + MENU LABEL (GMT+01:00) Belgrade,Bratislava,Budapest,Ljubljana,Prague + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Europe/Belgrade + +LABEL Europe/Brussels + MENU LABEL (GMT+01:00) Brussels,Copenhagen,Madrid,Paris + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Europe/Brussels + +LABEL Europe/Zagreb + MENU LABEL (GMT+01:00) Sarajevo,Skopje,Warsaw,Zagreb,Oslo + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Europe/Zagreb + +LABEL Africa/Tunis + MENU LABEL (GMT+01:00) West Central Africa + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Africa/Tunis + +LABEL Asia/Amman + MENU LABEL (GMT+02:00) Amman + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Amman + +LABEL Europe/Istanbul + MENU LABEL (GMT+02:00) Athens,Bucharest,Istanbul + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Europe/Istanbul + +LABEL Asia/Beirut + MENU LABEL (GMT+02:00) Beirut + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Beirut + +LABEL Europe/Kiev + MENU LABEL (GMT+02:00) Helsinki,Kyiv,Riga,Sofia,Tallinn,Vilnius + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Europe/Kiev + +LABEL Africa/Windhoek + MENU LABEL (GMT+02:00) Windhoek + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Africa/Windhoek + +LABEL Asia/Jerusalem + MENU LABEL (GMT+02:00) Jerusalem + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Jerusalem + +LABEL Africa/Cairo + MENU LABEL (GMT+02:00) Cairo + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Africa/Cairo + +LABEL Europe/Minsk + MENU LABEL (GMT+02:00) Minsk + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Europe/Minsk + +LABEL Africa/Harare + MENU LABEL (GMT+02:00) Harare,Pretoria + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Africa/Harare + +LABEL Asia/Baghdad + MENU LABEL (GMT+03:00) Baghdad + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Baghdad + +LABEL Asia/Kuwait + MENU LABEL (GMT+03:00) Kuwait,Riyadh + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Kuwait + +LABEL Europe/Moscow + MENU LABEL (GMT+03:00) Moscow,St. Petersburg,Volgograd + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Europe/Moscow + +LABEL Africa/Nairobi + MENU LABEL (GMT+03:00) Nairobi + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Africa/Nairobi + +LABEL Asia/Tbilisi + MENU LABEL (GMT+03:00) Tbilisi + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Tbilisi + +LABEL Asia/Tehran + MENU LABEL (GMT+03:30) Tehran + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Tehran + +LABEL Asia/Muscat + MENU LABEL (GMT+04:00) Abu Dhabi,Muscat + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Muscat + +LABEL Asia/Baku + MENU LABEL (GMT+04:00) Baku + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Baku + +LABEL Asia/Yerevan + MENU LABEL (GMT+04:00) Yerevan + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Yerevan + +LABEL Asia/Kabul + MENU LABEL (GMT+04:30) Kabul + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Kabul + +LABEL Asia/Yekaterinburg + MENU LABEL (GMT+05:00) Ekaterinburg + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Yekaterinburg + +LABEL Asia/Karachi + MENU LABEL (GMT+05:00) Islamabad,Karachi,Tashkent + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Karachi + +LABEL Asia/Calcutta + MENU LABEL (GMT+05:30) Chennai,Kalkata,Bumbai,New Delhi + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Calcutta + +LABEL Asia/Jayapura + MENU LABEL (GMT+05:30) Sri Jayawardenepura + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Jayapura + +LABEL Asia/Katmandu + MENU LABEL (GMT+05:45) Kathmandu + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Katmandu + +LABEL Asia/Almaty + MENU LABEL (GMT+05:00) Almaty + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Almaty + +LABEL Asia/Dhaka + MENU LABEL (GMT+06:00) Astana,Dhaka + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Dhaka + +LABEL Asia/Omsk + MENU LABEL (GMT+06:00) Omsk,Novosibirsk + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Omsk + +LABEL Asia/Rangoon + MENU LABEL (GMT+06:30) Yangon (Rangoon) + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Rangoon + +LABEL Asia/Bangkok + MENU LABEL (GMT+07:00) Bangkok,Hanoi,Jakarta + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Bangkok + +LABEL Asia/Krasnoyarsk + MENU LABEL (GMT+07:00) Krasnoyarsk + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Krasnoyarsk + +LABEL Asia/Hong_Kong + MENU LABEL (GMT+08:00) Beijing,Chongqing,Hong Kong,Urumqi + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Hong_Kong + +LABEL Asia/Irkutsk + MENU LABEL (GMT+08:00) Irkutsk,Ulaan Bataar + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Irkutsk + +LABEL Asia/Singapore + MENU LABEL (GMT+08:00) Kuala Lumpur,Singapore + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Singapore + +LABEL Australia/Perth + MENU LABEL (GMT+08:00) Perth + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Australia/Perth + +LABEL Asia/Taipei + MENU LABEL (GMT+08:00) Taipei + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Taipei + +LABEL Asia/Tokyo + MENU LABEL (GMT+09:00) Osaka,Sapporo,Tokyo + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Tokyo + +LABEL Asia/Seoul + MENU LABEL (GMT+09:00) Seoul + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Seoul + +LABEL Asia/Yakutsk + MENU LABEL (GMT+09:00) Yakutsk + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Yakutsk + +LABEL Australia/Adelaide + MENU LABEL (GMT+09:30) Adelaide + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Australia/Adelaide + +LABEL Australia/Darwin + MENU LABEL (GMT+09:30) Darwin + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Australia/Darwin + +LABEL Australia/Brisbane + MENU LABEL (GMT+10:00) Brisbane + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Australia/Brisbane + +LABEL Asia/Vladivostok + MENU LABEL (GMT+10:00) Vladivostok + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Vladivostok + +LABEL Pacific/Guam + MENU LABEL (GMT+10:00) Guam,Port Moresby + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Pacific/Guam + +LABEL Australia/Melbourne + MENU LABEL (GMT+10:00) Canberra,Melbourne,Sydney + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Australia/Melbourne + +LABEL Australia/Hobart + MENU LABEL (GMT+10:00) Hobart + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Australia/Hobart + +LABEL Asia/Magadan + MENU LABEL (GMT+11:00) Magadan,Solomon Is.,New Caledonia + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Magadan + +LABEL Asia/Kamchatka + MENU LABEL (GMT+12:00) Fiji,Kamchatka,Marshall Is. + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Asia/Kamchatka + +LABEL Pacific/Auckland + MENU LABEL (GMT+12:00) Auckland,Wellington + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Pacific/Auckland + +LABEL Etc/GMT-13 + MENU LABEL (GMT+13:00) Nuku'alofa + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,Etc/GMT-13 diff --git a/install/builder/profile/ISO/target/isolinux/vga.cfg b/install/builder/profile/ISO/target/isolinux/vga.cfg new file mode 100755 index 0000000..bfbdff4 --- /dev/null +++ b/install/builder/profile/ISO/target/isolinux/vga.cfg @@ -0,0 +1,38 @@ +DEFAULT vesamenu.c32 +MENU TITLE Select Resolution + +INCLUDE common.cfg + +MENUPARAM calculate 3 + +LABEL auto + MENU LABEL Auto + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,,auto +ENDTEXT + + +LABEL 640x480 + MENU LABEL 640x480 + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,,640x480 + +LABEL 800x600 + MENU LABEL 800x600 + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,,800x600 + +LABEL 1024x768 + MENU LABEL 1024x768 + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,,1024x768 + +LABEL 1280x1024 + MENU LABEL 1280x1024 + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,,1280x1024 + +LABEL 1600x1200 + MENU LABEL 1600x1200 + KERNEL calcmenu.c32 + APPEND isolinux.cfg calculate=,,,1600x1200 diff --git a/install/builder/profile/ISO/target/livecd b/install/builder/profile/ISO/target/livecd new file mode 100644 index 0000000..a0c91d3 --- /dev/null +++ b/install/builder/profile/ISO/target/livecd @@ -0,0 +1 @@ +calculate \ No newline at end of file diff --git a/install/builder/use/Artwork b/install/builder/use/Artwork new file mode 100644 index 0000000..99b30fd --- /dev/null +++ b/install/builder/use/Artwork @@ -0,0 +1,5 @@ +#дополнительные флаги поддержки визуальных расширений + +#?system=desktop# +#xscreensaver #support for the XScreenSaver extension +#system# diff --git a/install/builder/use/Audio b/install/builder/use/Audio new file mode 100644 index 0000000..ecbfeb0 --- /dev/null +++ b/install/builder/use/Audio @@ -0,0 +1,17 @@ +#?system=desktop# +alsa #Adds support for media-libs/alsa-lib (Advanced Linux Sound Architecture) +audiofile #Adds support for libaudiofile where applicable +id3tag #Enables ID3 tagging with id3tag library +flac #Adds support for the flac audio codec +mad #Adds support for mad (high-quality mp3 decoder library and cli frontend) +mp3 #Add support for reading mp3 files +mpeg #Adds libmpeg3 support to various packages +nas #Adds support for network audio sound +ogg #Adds support for the Ogg container format (commonly used by Vorbis, Theora and flac) +oggvorbis #Adds support for the OggVorbis audio encoding - DEPRECATED useflag +openal #Adds support for the Open Audio Library +portaudio #Adds support for the crossplatform portaudio audio API +vorbis #Adds support for the OggVorbis audio codec +mikmod #Adds libmikmod support to allow playing of SoundTracker-style music files +#system# + diff --git a/install/builder/use/CD_and_DVD b/install/builder/use/CD_and_DVD new file mode 100644 index 0000000..998b8e3 --- /dev/null +++ b/install/builder/use/CD_and_DVD @@ -0,0 +1,9 @@ +#?system=desktop# +cdparanoia #Enables cdparanoia support +cdr #Adds support for CD writer hardware +dvd #Adds support for DVDs +dvdr #Adds support for DVD writer hardware (e.g. in xcdroast) +dvdread #Enables usage of Ogle's libdvdread for DVD playback +vcd #Video CD support +#system# + diff --git a/install/builder/use/Doc b/install/builder/use/Doc new file mode 100644 index 0000000..bfef450 --- /dev/null +++ b/install/builder/use/Doc @@ -0,0 +1,3 @@ +chm #Enable support for Microsoft Compiled HTML Help files +djvu #support DjVu, a PDF-like document format esp. suited for scanned documents +ebook #Add E-Book suppport diff --git a/install/builder/use/Guard_and_Security b/install/builder/use/Guard_and_Security new file mode 100644 index 0000000..f2b360f --- /dev/null +++ b/install/builder/use/Guard_and_Security @@ -0,0 +1,12 @@ +#?system=desktop# +clamav #Adds support for Clam AntiVirus software (usually with a plugin) +crypt #Add support for encryption -- using mcrypt or gpg where applicable +ssl #Adds support for Secure Socket Layer connections +#system# + +#?system=server# +#hardened #activate default security enhancements for toolchain (gcc, glibc, binutils) +#kerberos #Adds kerberos support +#sasl #Adds support for the Simple Authentication and Security Layer +#system# + diff --git a/install/builder/use/Hardware b/install/builder/use/Hardware new file mode 100644 index 0000000..0ac8267 --- /dev/null +++ b/install/builder/use/Hardware @@ -0,0 +1,30 @@ +#?system=desktop# +3dnow #Adds support for 3dnow multimedia processor instructions +acpi #Adds support for Advanced Configuration and Power Interface +apm #Adds APM (Advanced Power Management) support +bluetooth #Enables Bluetooth Support +cairo #adds cairo support +dbus #Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) +dri #Enable direct rendering: used for accelerated 3D and some 2D, like DMA +hal #Enable Hardware Abstraction Layer (HAL) support +ieee1394 #Enable FireWire/iLink IEEE1394 support (dv, camera, ...) +mmx #Adds support for optimizations for Pentium MMX and Athlon class processors +mmxext #Enables mmx2 support +nvidia #Enable binary Nvidia driver support +opengl #Adds support for OpenGL +scanner #Adds support for scanner hardware (e.g. build the sane frontend in kdegraphics) +smp #Enable support for multiprocessors +sse #fast floating point optimization for PentiumIII+ class chips +sse2 #faster floating point optimization for SS[2E2 capable chips +sse3 #Enable SSE3 support +sse4.1 #Enable SSE4.1 support +sse4.2 #Enable SSE4.2 support +sse4a #Enable SSE4a support +sse5 #Enable SSE5 support +ssse3 #faster floating point optimization for SSSE3 capable chips (Intel Core 2 and later chips) +usb #Adds USB support to applications that have optional USB support (e.g. cups) +xcomposite #Enable support for the Xorg composite extension +#system# +#?calculate=CLD# +lirc #Adds support for lirc (Linux's Infra-Red Remote Control) +#calculate# diff --git a/install/builder/use/IM b/install/builder/use/IM new file mode 100644 index 0000000..e80234d --- /dev/null +++ b/install/builder/use/IM @@ -0,0 +1,8 @@ +#?system=desktop# +irc #Enable support for the IRC protocol +jabber #Enable jabber IM protocol support +jingle #Enables voice calls for jabber +oscar #Enable Oscar (AIM/ICQ) IM protocol support +yahoo #Enable Yahoo Messenger IM protocol support +#system# + diff --git a/install/builder/use/Image b/install/builder/use/Image new file mode 100644 index 0000000..2a50a56 --- /dev/null +++ b/install/builder/use/Image @@ -0,0 +1,27 @@ +#?system=desktop# +X #Adds support for X11 +exif #Adds support for reading EXIF headers from JPEG and TIFF images +fdftk #Add supports for Adobe's FDF toolkit +gd #Adds support for media-libs/gd (to generate graphics on the fly) +gif #Adds GIF image support +imagemagick #Enables support for Imagemagick (image converter) +jpeg #Adds JPEG image support +jpeg2k #Support for JPEG 2000, a wavelet-based image compression format +mng #Adds support for libmng (MNG images) +pdf #Adds general support for PDF, this replaces the pdflib and cpdflib flags +png #Adds support for libpng (PNG images) +svg #Adds support for SVG. +tiff #Adds support for the tiff image format +wmf #Adds support for the wmf vector image format +wxwindows #Adds support for wxWidgets/wxGTK GUI toolkit +xpm #Support for XPM graphics format +#system# +#?system=server# +exif #Adds support for reading EXIF headers from JPEG and TIFF images +gif #Adds GIF image support +jpeg #Adds JPEG image support +jpeg2k #Support for JPEG 2000, a wavelet-based image compression format +png #Adds support for libpng (PNG images) +tiff #Adds support for the tiff image format +#system# + diff --git a/install/builder/use/Language b/install/builder/use/Language new file mode 100644 index 0000000..42cca65 --- /dev/null +++ b/install/builder/use/Language @@ -0,0 +1,4 @@ +#?system=desktop# +-java #Adds support for Java +#system# + diff --git a/install/builder/use/Locale_and_Fonts b/install/builder/use/Locale_and_Fonts new file mode 100644 index 0000000..bcee9b2 --- /dev/null +++ b/install/builder/use/Locale_and_Fonts @@ -0,0 +1,10 @@ +truetype #Adds support for FreeType and/or FreeType2 fonts +nls #Adds Native Language Support (using gettext - GNU locale utilities) +slang #Adds support for the slang text display library (it's like ncurses, but different) +unicode #Adds support for Unicode +userlocales #build only the locales specified in /etc/locales.build + +#?system=desktop# +spell #Adds dictionary support +#system# + diff --git a/install/builder/use/Mail b/install/builder/use/Mail new file mode 100644 index 0000000..7d8651d --- /dev/null +++ b/install/builder/use/Mail @@ -0,0 +1,11 @@ +-mailwrapper #Adds mailwrapper support to allow multiple MTAs to be installed + +#?system=desktop# +mbox #Adds support for mbox (/var/spool/mail) style mail spools +#system# + +#?system=server# +imap #Adds support for IMAP (Internet Mail Application Protocol) +maildir #Adds support for maildir (~/.maildir) style mail spools +#system# + diff --git a/install/builder/use/Net b/install/builder/use/Net new file mode 100644 index 0000000..c00ae1c --- /dev/null +++ b/install/builder/use/Net @@ -0,0 +1,19 @@ +#Сетевые протоколы + +bittorrent #Enable embedded bittorrent transport plugin +ftp #Adds FTP (File Transfer Protocol) support +ipv6 #Adds support for IP version 6 +nfs #Adds support for NFS file system + +#?system=desktop# +ldap #Adds LDAP support (Lightweight Directory Access Protocol) +rdesktop #support for the remote desktop protocol +samba #Adds support for SAMBA +#system# + +#?system=desktop# +ldap #Adds LDAP support (Lightweight Directory Access Protocol) +radius #Adds support for RADIUS authentication +samba #Adds support for SAMBA +#system# + diff --git a/install/builder/use/Photo b/install/builder/use/Photo new file mode 100644 index 0000000..3f3a935 --- /dev/null +++ b/install/builder/use/Photo @@ -0,0 +1,4 @@ +#?system=desktop# +gphoto2 #Adds digital camera support +#system# + diff --git a/install/builder/use/Printing b/install/builder/use/Printing new file mode 100644 index 0000000..d61e4d6 --- /dev/null +++ b/install/builder/use/Printing @@ -0,0 +1,3 @@ +cups #Add support for CUPS (Common Unix Printing System) +foomaticdb #Adds support for the foomatic printing driver database + diff --git a/install/builder/use/Sql b/install/builder/use/Sql new file mode 100644 index 0000000..1099023 --- /dev/null +++ b/install/builder/use/Sql @@ -0,0 +1,5 @@ +#?calculate=CLD# +mysql #Adds mySQL Database support +#postgres #Adds support for the postgresql database +#system# + diff --git a/install/builder/use/System b/install/builder/use/System new file mode 100644 index 0000000..c019988 --- /dev/null +++ b/install/builder/use/System @@ -0,0 +1,8 @@ +logrotate #Install support files for logrotate +nptl #Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually) +nptlonly #Disables building the linuxthreads fallback in glibc ebuilds that support building both linuxthreads and nptl + +#?system=desktop# +nsplugin #Builds plugins for Netscape compatible browsers +#system# + diff --git a/install/builder/use/Video b/install/builder/use/Video new file mode 100644 index 0000000..df1b337 --- /dev/null +++ b/install/builder/use/Video @@ -0,0 +1,38 @@ +#?system=desktop# +a52 #Enables support for decoding ATSC A/52 streams used in DVD +aac #Enables support for MPEG-4 AAC Audio +aalib #Adds support for media-libs/aalib (ASCII-Graphics Library) +avi #Adds avifile (Library for avi) support +cddb #Access cddb servers to retrieve and submit information about compact disks +dv #Enables support for a codec used by many camcorders +encode #Adds support for encoding of audio or video files +fbcon #Adds framebuffer support for the console, via the kernel +ffmpeg #Enable ffmpeg support +flash #Adds support for creating flash files using Ming +ggi #Adds support for media-libs/libggi (non-X video api/drivers) +libcaca #Add support for colored ASCII-art graphics +lzo #Enables support for lzo compression +matroska #Adds support for the matroska container format +mplayer #Enable mplayer support +musepack #Enable support for the musepack audio codec +real #Installs the real video codecs +sdl #Adds support for Simple Direct Layer (media library) +speex #Adds support for the speex audio codec +srt #Support for SRT subtitle format +svga #Adds support for SVGAlib (graphics library) +tga #Enables Targa video output +quicktime #Adds support for OpenQuickTime +theora #Adds support for the Theora Video Compression Codec +v4l #Enables video4linux support +v4l2 #Enable video4linux2 support +vidix #Support for vidix video output +win32codecs #use win32codecs package for dll avi decoding support (wmv and what not) +xanim #Enables support for xanim based codecs +x264 #Enable h264 encoding using x264 +xine #Add support for the XINE movie libraries +xinerama #Add support for the xinerama X11 extension, which allows you to stretch your display across multiple monitors +xv #Adds in optional support for the Xvideo extension (an X API for video playback) +xvid #Adds support for xvid.org's open-source mpeg-4 codec +xvmc #Support for XVideo Motion Compensation (accelerated mpeg playback) +#system# + diff --git a/install/builder/use/WM_and_Speciality b/install/builder/use/WM_and_Speciality new file mode 100644 index 0000000..2256035 --- /dev/null +++ b/install/builder/use/WM_and_Speciality @@ -0,0 +1,26 @@ +#?calculate=CLD# +-gnome #Adds GNOME support +-eds #Enables support for Evolution-Data-Server(eds) +kde #Adds support for kde-base/kde (K Desktop Enviroment) +-qt3 #Adds support for the Qt GUI/Application Toolkit version 3.x +qt4 #Adds support for the Qt GUI/Application Toolkit version 4.x +#calculate# + +#?calculate=CLDX# +-gnome #Adds GNOME support +gtk #Adds support for x11-libs/gtk+ (The GIMP Toolkit) +-eds #Enables support for Evolution-Data-Server(eds) +-kde #Adds support for kde-base/kde (K Desktop Enviroment) +-qt3 #Adds support for the Qt GUI/Application Toolkit version 3.x +-qt4 #Adds support for the Qt GUI/Application Toolkit version 4.x +#calculate# + +#?system=server# +-gnome +-gtk +-kde +-qt3 +-qt4 +-X +#system# + diff --git a/install/builder/use/Web b/install/builder/use/Web new file mode 100644 index 0000000..e3234d8 --- /dev/null +++ b/install/builder/use/Web @@ -0,0 +1,11 @@ +#?system=desktop# +#-apache #Chooses Apache1 support when a package optionally supports Apache1 +#apache2 #Chooses Apache2 support when a package supports both Apache1 and Apache2 +libwww #Adds libwww support (General purpose WEB API) +vhosts #Adds support for installing web-based applications into a virtual-hosting environment +#javascript #enable javascript support +#system# +#calculate=CLD# +webkit #enable WebKit support +#calculate# + diff --git a/install/calculate b/install/calculate new file mode 100755 index 0000000..0f8f1d5 --- /dev/null +++ b/install/calculate @@ -0,0 +1,6523 @@ +#!/usr/bin/perl +use Cwd; +use IO::Socket; +use Time::Local; + +#------------------------------------------------------------------------------ +# Calculate +# Copyright ©2006-2009 Calculate Pack +# Программа создана: 12.04.2006г. +# +# 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 . +#------------------------------------------------------------------------------ +my %data; #объявим хэш переменных +$data{"calcver"} = "1.1.0"; + +#Определим путь к программе +if(!getpath()){exit;}; + +#Считаем входящие параметры и выполним простые действия +if(!getarg()){savelog(); exit;}; + +#Проверим на ошибки +if(!checkerrors()){savelog(); exit;}; + +#Определим систему для установки и обновления +welcome(); + +#Соберем сведения о системе +checksystem(); + +#------------------------------------------------------------------------------ +# Выполним действия +#------------------------------------------------------------------------------ +#Покажем все переменные +if(defined $data{arg}{'vars'}){ + printvars(); #Выведем список переменных конфигурационных файлов +#Покажем список пакетов, входящих в дополнение +}elsif(defined $data{arg}{'L'}){ + listadd(); +#Соберем дополнение +}elsif(defined $data{arg}{'M'}){ + makeadd(); +#Установка дополнений +}elsif(defined $data{arg}{'addition'}){ + addition(); +#Сгенерируем новый initrd +}elsif(defined $data{arg}{'initrd'}){ + initrd(); +#Установим по необходимости видеодрайвер +}elsif(defined $data{arg}{'video'}){ + video(); +#Выполним обновления +}elsif(defined $data{arg}{update}){ + checkupdate(); +#Покажем информацию о компьютере +}elsif(defined $data{arg}{'hardware'}){ + printhardware(); #Выведем конфигурацию ПК +#Настроим серверы CDS +}elsif(defined $data{arg}{'setup'}){ + setupservers(); #настроим серверы +#Выполним резервное копирование данных серверов +}elsif(defined $data{arg}{'backup'}){ + backupservers(); #настроим серверы +#Управление пользователями +}elsif(defined $data{arg}{'useradd'} || defined $data{arg}{'userdel'} || defined $data{arg}{'userpasswd'} || defined $data{arg}{'groupadd'} || defined $data{arg}{'groupdel'} || defined $data{arg}{'groupmod'}){ + user(); #управление пользователями +#Управление почтовыми ящиками +}elsif(defined $data{arg}{'mailuseradd'} || defined $data{arg}{'mailuserdel'} || defined $data{arg}{'mailuserpasswd'} || defined $data{arg}{'mailgroupadd'} || defined $data{arg}{'mailgroupdel'}){ + mail(); #управление пользователями +#Наложим обновления профилей на текущую систему +}elsif(defined $data{arg}{'profile'}){ + if(number_ver($data{os}) < number_ver(7.12)){ + printmes(gettext('It is supported in systems of versions')); + printmes(" > 7.11\n"); + }else{ + update_profile(); + } +#Выполним сборку новой системы +}elsif($data{builder}){ + if(defined $data{arg}{list}){ + if(!list()){ + beep(); + } + }elsif(defined $data{arg}{dependence}){ + if(!dependence()){ + beep(); + } + }elsif(defined $data{arg}{make}){ + if(!make()){ + beep(); + }elsif(!makepkg()){ + beep(); + } + }elsif(defined $data{arg}{pack}){ + if(!packsystem()){ + beep(); + } + }elsif(defined $data{arg}{iso}){ + if(!createiso()){ + beep(); + } + }elsif(defined $data{arg}{'break'}){ + if(!breakbuild()){ + beep(); + } + }else{ + #Создадим директорию сборки + system "$data{path} mkdir $data{mount}"; + + #Соберем новый дистрибутив + if(!checkready()){system "$data{path} rmdir $data{mount}";} #Выполним проверки перед установкой + elsif(!extract()){system "$data{path} rmdir $data{mount}";} #Распакуем систему + elsif(!configure()){} #Подготовим систему к сборке + } +#Выполним установку новой системы +}elsif( + $data{load} eq "ram" || + ( + number_ver($data{linuxver}) > number_ver(7.11) +# && +# ( +# number_ver($data{linuxver}) > number_ver($data{os}) || +# defined $data{arg}{'force'} || +# $data{calculatename} ne $data{linuxold} +# ) + && + !defined $data{arg}{'updateonly'} + ) +){ + #Создадим директорию установки + system "$data{path} mkdir $data{mount}"; + #Установим новую версию системы + if(!checkready()){} #Выполним проверки перед установкой + elsif(!extract()){} #Распакуем систему + elsif(!profiles()){} #Наложим обновления + elsif(!setup()){} #Выполним общие настройки системы + elsif(!loader()){} #Подготовим систему к перезагрузке + elsif(!reboot()){} #Перезагрузим компьютер + #Удалим директорию установки + system "$data{path} rmdir $data{mount}"; +#Выполним установку патчей +}else{ + if(%{$data{patches}}){ + patch(); + }else{ + printmes("\n".gettext('No updates available')); printmes(".\n"); + } +} + +savelog(); +exit; + + +#------------------------------------------------------------------------------ +# +# Определим путь к программе +# +#------------------------------------------------------------------------------ +sub getpath{ + #---------------------------------------------------------------------- + # Добавим по необходимости переменные пути + #---------------------------------------------------------------------- + { + $data{path} = ''; + if(":$ENV{PATH}:"!~m|:/sbin:|){ $data{path}.= "/sbin:"; } + if(":$ENV{PATH}:"!~m|:/bin:|){ $data{path}.= "/bin:"; } + if(":$ENV{PATH}:"!~m|:/usr/sbin:|){ $data{path}.= "/usr/sbin:"; } + if(":$ENV{PATH}:"!~m|:/usr/bin:|){ $data{path}.= "/usr/bin:"; } + if($data{path}){ $data{path} = "PATH=$data{path}\${PATH} && "; } + } + + #---------------------------------------------------------------------- + # Путь к директории calculate, последнюю доступную версию системы + # $data{dir} + #---------------------------------------------------------------------- + { + my $wd = &Cwd::cwd(); + #добавим завершающий слеш в пути если его нет + if(substr($wd,length($wd)-1) ne "/"){$wd.="/";} + #удалим из файла запускаемой программы "./" + my $file = $0; if(substr($file,0,2) eq "./"){$file = substr($file,2);} + #склеим путь текущей директории с выполняемым файлом + my $path; if(substr($file,0,1) eq "/"){ $path = $file; }else{ $path = $wd.$file; } + #проверим на символическую ссылку + my $link = `$data{path} file $path`; chomp $link; #получим информацию о файле запуска + #если это символическая ссылка, сформируем путь + if($link=~m/.+symbolic link to \`([^']+)'$/){ + $link = $1; #путь к файлу + if($link=~m/^\//){ + $path = $link; #фактический путь при указании на прямой путь + }else{ + $path=~s/(.+)\/[^\/]+/$1/; #директория символической ссылки + $path = "$path/$link"; #фактический путь при указании относительного пути в ссылке + } + } + #получим путь к директории calculate + $data{dir} = $path; $data{dir}=~s/(.+)\/[^\/]+/$1/; + $data{dir}=~s/(.+)\/([^\/]+)/$1/; + chdir($data{dir}); + } + return 1; +} + +#------------------------------------------------------------------------------ +# +# Считаем входящие параметры и выполним простые действия +# +#------------------------------------------------------------------------------ +sub getarg{ + #краткое и полное название программы + $data{"calcname"} = "Calculate"; + $data{'calcinstall'} = "$data{calcname} $data{calcver}"; + + #---------------------------------------------------------------------- + # Считаем параметры запуска + # %{$data{arg}} %{$data{par}} + #---------------------------------------------------------------------- + { + my $par = ''; + #извлечем параметры слов + my @arg; foreach(@ARGV){ + if(/^\-\-([^\s=]+)=(.+)$/){ $data{arg}{$1} = $2; $par++;} + elsif(/^\-\-([^\s]+)$/){$data{arg}{$1} = ''; $par++;} + else{push @arg, $_} + } + + #обработаем параметры букв и дополнительные параметры - слова или буквы разделеныне пробелами + foreach(split "-", "@arg"){ + if(!$_){next;} + my ($var, $val, @par) = split " "; + $data{arg}{$var} = "$val"; #параметры букв + if(@par){ + foreach(@par){$data{par}{$_} = '';} #дополнительные параметры + } + $par++; + } + if(!$par){$data{NOPAR}++;} + } + + #Проверим переданные параметры + { + #Допустимые переменные + my %arg = ( + "a" => '', "addition" => '', + "s" => '', "os" => '', + "d" => '', "disk" => '', + "f" => '', "force" => '', + "U" => '', "updateonly" => '', + "P" => '', "profile" => '', + "l" => '', "list" => '', + "c" => '', "configure" => '', + "D" => '', "dependence" => '', + "m" => '', "make" => '', + "p" => '', "pack" => '', + "iso" => '', + "break" => '', + "L" => '', + "M" => '', + #"S" => '', "setup" => '', + #"backup" => '', + "useradd" => '', + "userdel" => '', + "userpasswd" => '', + "groupadd" => '', + "groupdel" => '', + "groupmod" => '', + "mailuseradd" => '', + "mailuserdel" => '', + "mailuserpasswd" => '', +# "mailgroupadd" => '', +# "mailgroupdel" => '', + "u" => '', "update" => '', + "h" => '', "help" => '', + "v" => '', "vars" => '', + "H" => '', "hardware" => '', + "V" => '', "version" => '', + "translate" => '', + "initrd" => '', + "video" => '', + "chroot" => '', + "nodie" => '', #выводить минимум информации показывая неверно завершенную работу + "softly" => '', #не вылетать при ошибке запускаемой программы + "composite" => '', + ); + + my @write = ( + "builderdir", + "cpus", + "domain", + "erase", + "format", + "gateway", + "hostname", + "ldap_base", + "ldap_bind", + "ldap_bindpw", + "ldap_root", + "linuxver", + "makeopts", + "march", + "mbr", + "menuconfig", + "mesline", + "mestitle", + "mount", + "move_fstab", + "nfs", + "ntp", + "patchdir", + "portdir", + "proxy", + "server_url", + "skipfirst", + "swap", + "tmpdir", + "user_comment", + "user_groups", + "useradd", + "userdel", + "mail", + "video_drv", + "video_resolution", + "lang", + "timezone", + "clock", + "composite", + "system", + ); + foreach(@write){$data{write}{$_} ++;} + + #Проверим переменные + foreach(keys %{$data{arg}}){ + if( !defined $arg{$_} && + $_!~/^set\-/i + ){errorarg($_); return "";} + + #Перенесем переданные значения + if($_=~m/^set\-(.+)/){ + if($data{write}{$1}){ + $data{$1} = $data{arg}{$_}; + }else{ + printmes(gettext('Incorrect variable name')); + printmes(" '$1' "); + printmes(gettext('or value cannot be changed')); + printmes(".\n"); + printmes(gettext('Try')); printmes(" 'calculate --vars' "); printmes(gettext('for a print of all variables')); + printmes(".\n"); + beep(); + return ""; + } + }elsif($_=~m/^SET\-(.+)/){ + $data{$1} = $data{arg}{$_}; + } + } + #Допустимые аргументы + my %par = (); + #Проверим аргументы + foreach(keys %{$data{par}}){ + if(!defined $par{$_}){errorarg(-$_); return "";} + } + } + + #---------------------------------------------------------------------- + # Считаем параметры запуска, установим флаги действий + #---------------------------------------------------------------------- + if(defined $data{arg}{'a'} || defined $data{arg}{'addition'}){ + if(!defined $data{arg}{'addition'}){$data{arg}{'addition'} = $data{arg}{'a'}} + $data{CHECKSYSTEM_NOMES}++; $data{builder}++; + $data{addition} = lc($data{arg}{'a'}); + } + if(defined $data{arg}{'s'} || defined $data{arg}{'os'}){ + if(!defined $data{arg}{'os'}){$data{arg}{'os'} = $data{arg}{'s'}} + } + #Флаги установки и обновления системы + if($data{arg}{d} || $data{arg}{'disk'}){ + if(!$data{arg}{'disk'}){$data{arg}{'disk'} = $data{arg}{'d'}} + + } + if(defined $data{arg}{f} || defined $data{arg}{'force'}){ + if(!defined $data{arg}{'force'}){$data{arg}{'force'} = $data{arg}{'f'}} + } + if(defined $data{arg}{U} || defined $data{arg}{'updateonly'}){ + if(!defined $data{arg}{'updateonly'}){$data{arg}{'updateonly'} = $data{arg}{'U'}} + $data{change}++; #флаг производимых в системе изменений + } + if(defined $data{arg}{P} || defined $data{arg}{'profile'}){ + if(!defined $data{arg}{'profile'}){$data{arg}{'profile'} = $data{arg}{'P'}} + $data{CHECKSYSTEM_NOMES}++; $data{change}++; #флаг производимых в системе изменений + } + #Флаги сборки системы + if(defined $data{arg}{l} || defined $data{arg}{'list'}){ + if(!defined $data{arg}{'list'}){$data{arg}{'list'} = $data{arg}{'l'}} + $data{CHECKSYSTEM_NOMES}++; $data{builder}++; + } + if(defined $data{arg}{c} || defined $data{arg}{'configure'}){ + if(!defined $data{arg}{'configure'}){$data{arg}{'configure'} = $data{arg}{'c'}} + $data{builder}++; + } + if(defined $data{arg}{D} || defined $data{arg}{'dependence'}){ + if(!defined $data{arg}{'dependence'}){$data{arg}{'dependence'} = $data{arg}{'D'}} + $data{CHECKSYSTEM_NOMES}++; $data{builder}++; $data{builder_chroot}++; #флаг того что директория chroot должна быть создана предварительно + } + if(defined $data{arg}{m} || defined $data{arg}{'make'}){ + if(!defined $data{arg}{'make'}){$data{arg}{'make'} = $data{arg}{'m'}} + $data{builder}++; $data{builder_chroot}++; + } + if(defined $data{arg}{p} || defined $data{arg}{'pack'}){ + if(!defined $data{arg}{'pack'}){$data{arg}{'pack'} = $data{arg}{'p'}} + $data{CHECKSYSTEM_NOMES}++; $data{builder}++; $data{builder_chroot}++; + } + if(defined $data{arg}{'iso'}){ + $data{CHECKSYSTEM_NOMES}++; $data{builder}++; + } + if(defined $data{arg}{'break'}){ + $data{CHECKSYSTEM_NOMES}++; $data{builder}++; $data{builder_chroot}++; + } + #Сборка дополнений + if(defined $data{arg}{'L'}){ + $data{CHECKSYSTEM_NOMES}++; $data{builder}++; + if($data{arg}{'L'}){$data{addition} = lc($data{arg}{'L'});} + } + if(defined $data{arg}{'M'}){ + $data{CHECKSYSTEM_NOMES}++; $data{builder}++; + if($data{arg}{'M'}){$data{addition} = lc($data{arg}{'M'});} + } + #Настройка сервера +# if(defined $data{arg}{S} || defined $data{arg}{'setup'}){ +# if(!defined $data{arg}{'setup'}){$data{arg}{'setup'} = $data{arg}{'S'}} +# $data{CHECKSYSTEM_NOMES}++; +# } +# if(defined $data{arg}{'backup'}){ +# $data{CHECKSYSTEM_NOMES}++; +# } + if(defined $data{arg}{'useradd'} || defined $data{arg}{'userdel'} || defined $data{arg}{'userpasswd'} || defined $data{arg}{'groupadd'} || defined $data{arg}{'groupdel'} || defined $data{arg}{'groupmod'}){ + $data{CHECKSYSTEM_NOMES}++; + } + if(defined $data{arg}{'mailuseradd'} || defined $data{arg}{'mailuserdel'} || defined $data{arg}{'mailuserpasswd'} || defined $data{arg}{'mailgroupadd'} || defined $data{arg}{'mailgroupdel'}){ + $data{CHECKSYSTEM_NOMES}++; + } + #Флаг обновления системы + if(defined $data{arg}{u} || defined $data{arg}{'update'}){ + if(!defined $data{arg}{'update'}){$data{arg}{'update'} = $data{arg}{'u'}} + $data{CHECKSYSTEM_NOMES}++; + } + #Флаги информационного вывода + if(defined $data{arg}{h} || defined $data{arg}{'help'}){ + if(!defined $data{arg}{'help'}){$data{arg}{'help'} = $data{arg}{'h'}} + } + if(defined $data{arg}{v} || defined $data{arg}{'vars'}){ + if(!defined $data{arg}{'vars'}){$data{arg}{'vars'} = $data{arg}{'v'}} + $data{CHECKSYSTEM_NOMES}++; + } + if(defined $data{arg}{H} || defined $data{arg}{'hardware'}){ + if(!defined $data{arg}{'hardware'}){$data{arg}{'hardware'} = $data{arg}{'H'}} + $data{CHECKSYSTEM_NOMES}++; + } + if(defined $data{arg}{V} || defined $data{arg}{'version'}){ + if(!defined $data{arg}{'version'}){$data{arg}{'version'} = $data{arg}{'V'}} + } + if(defined $data{arg}{'initrd'}){ + $data{CHECKSYSTEM_NOMES}++; + } + if(defined $data{arg}{'video'}){ + $data{CHECKSYSTEM_NOMES}++; + } + + #---------------------------------------------------------------------- + # Выполним информационные команды + #---------------------------------------------------------------------- + if(defined $data{arg}{h} || defined $data{arg}{help}){ + printmes("$data{'calcinstall'}\n\n"); + + printmes(gettext('Usage').": "); + printmes("calculate ["); + printmes(gettext('OPTION')); + printmes("]...\n"); + + printmes("\n".gettext('Installation, compilation and updating of system')); printmes(".\n\n"); + + printmes(gettext('Mandatory arguments to long options are mandatory for short options too').".\n"); + printmes(gettext('Similarly for optional arguments').".\n\n"); + + printmes(gettext('Location').":\n"); + printmes(" -s, --os=[CLD|CLDX|CDS] "); printmes(gettext('select operation system')); printmes(" (Calculate Linux Desktop KDE, Calculate Linux Desktop XFCE, Calculate Directory Server)\n"); + printmes(" -d, --disk=DISK\t"); printmes(gettext('installation or building system volume')."\n"); + printmes(" -f, --force\t\t"); printmes(gettext('do not prompt before overwriting')."\n"); + + printmes("\n".gettext('Installation and Update').":\n"); + printmes(" -a, --addition\t"); printmes(gettext('to establish additions')."\n"); + printmes(" -U, --updateonly\t"); printmes(gettext('perform updates only')."\n"); + printmes(" --set-[var]=value\t"); printmes(gettext('set config files parameter')."\n"); + printmes(" --SET-[var]=value\t"); printmes(gettext('set config files parameter without check')."\n"); + printmes(" -P, --profile=name[,name2...]\t"); printmes(gettext('apply configuration profile (all - all profiles)')."\n"); + + printmes("\n".gettext('System building').":\n"); + printmes(" -l, --list\t\t"); printmes(gettext('show the package list incoming in the distributive file')."\n"); + printmes(" -c, --configure\t"); printmes(gettext('prepare system for building')."\n"); + printmes(" -D, --dependence\t"); printmes(gettext('check of dependences')."\n"); + printmes(" -m, --make\t\t"); printmes(gettext('make system')."\n"); + printmes(" -p, --pack\t\t"); printmes(gettext('pack the distribution package into the archive file')."\n"); + printmes(" --iso\t\t\t"); printmes(gettext('create a loaded iso-image of system')."\n"); + printmes(" --break\t\t"); printmes(gettext('break the system building')."\n"); + + printmes("\n".gettext('Additions assemble').":\n"); + printmes(" -L [value]\t\t"); printmes(gettext('show the package list incoming in the addition')."\n"); + printmes(" -M [value]\t\t"); printmes(gettext('make addition')."\n"); + +# printmes("\n".gettext('Setup server').":\n"); +# printmes(" -S, --setup=[ldap|mail] "); printmes(gettext('setup and run servers')); +# printmes("\n"); #, ftp, squid, apache +# printmes(" --backup\t\t"); printmes(gettext('backup data of working servers')."\n"); + +# printmes("\n".gettext('Access management')); +# printmes("\n ".gettext('User').":\n"); +# printmes(" --useradd=value\t"); printmes(gettext('create a new user account')."\n"); +# printmes(" --userdel=value\t"); printmes(gettext('delete a user account')."\n"); +# printmes(" --userpasswd=value\t"); printmes(gettext('change user password')."\n"); +# +# printmes(" --groupadd=value\t"); printmes(gettext('create a new group')."\n"); +# printmes(" --groupdel=value\t"); printmes(gettext('delete a group')."\n"); +# printmes(" --groupmod=value [--set-useradd=value|--set-userdel=value] "); printmes(gettext('modify a group definition on the system')."\n"); +# +# printmes(" ".gettext('E-Mail').":\n"); +# printmes(" --mailuseradd=value\t"); printmes(gettext('create a new email account')."\n"); +# printmes(" --mailuserdel=value\t"); printmes(gettext('delete a email account')."\n"); +# printmes(" --mailuserpasswd=value "); printmes(gettext('change a email account password')."\n"); +# # printmes(" --mailgroupadd=value\t"); printmes(gettext('create a new email group')."\n"); +# # printmes(" --mailgroupdel=value\t"); printmes(gettext('delete a email group')."\n"); + + printmes("\n".gettext('Updating').":\n"); + printmes(" -u, --update\t\t"); printmes(gettext('download and install latest update available')."\n"); + + printmes("\n".gettext('Informative output').":\n"); + printmes(" -h, --help\t\t"); printmes(gettext('display this help and exit')."\n"); + printmes(" -v, --vars\t\t"); printmes(gettext('config files parameters')."\n"); + printmes(" -H, --hardware\t"); printmes(gettext('show hardware information')."\n"); + printmes(" -V, --version\t\t"); printmes(gettext('output version information and exit')."\n"); + + return ""; + }elsif(defined $data{arg}{V} || defined $data{arg}{version}){ + printmes("Copyright (C) 2006-2008 Calculate Pack\n"); + printmes(gettext('This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.')); printmes ("\n"); + printmes(gettext('Written by')); printmes(" Alexander Tratsevsky\n"); + + return ""; + }elsif(defined $data{arg}{chroot}){ + #выполним сложные команды из chroot-окружения + if(system "$data{arg}{chroot}"){ + if(defined $data{arg}{nodie}){ + die; + }elsif(defined $data{arg}{softly}){ + return ""; + }else{ + die "Error run \"$data{arg}{chroot}\""; + } + } + return ""; + }elsif(defined $data{arg}{translate}){ + printmes(gettext('Update lang translation file')); printmes("... "); + if(-e "/usr/calculate/install"){ + chdir("/usr/calculate/install"); + #выполним локализацию пакета (для разработки) + system "xgettext --join-existing --no-location --sort-output --language=Perl --from-code=UTF-8 --msgid-bugs-address=support@calculate.ru -o i18n/ru_RU/LC_MESSAGES/calculate.po calculate"; + system "msgfmt -o i18n/ru_RU/LC_MESSAGES/calculate.mo i18n/ru_RU/LC_MESSAGES/calculate.po"; + printmes(gettext('done')); printmes(".\n"); + }else{ + printmes(gettext('error')); printmes(".\n"); + } + return ""; + } + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Проверим на ошибки +# +#------------------------------------------------------------------------------ +sub checkerrors{ + #---------------------------------------------------------------------- + # Предопределим диск для установки + # инициируем: $data{data_install_set}, $data{partitions_dev}, $data{partitions_fdisk} + #---------------------------------------------------------------------- + $data{data_install_set} = ""; + $data{partitions_dev} = ""; + $data{partitions_fdisk} = ""; + if($data{arg}{'disk'}){ + if($data{arg}{'disk'}!~m/^(\/dev\/)/ || !-e $data{arg}{'disk'}){ + printmes(gettext('Incorrect partition')); + printmes(" \"$data{arg}{'disk'}\".\n"); + return ""; + }elsif($data{arg}{'disk'}=~/[0-9]$/){ + $data{rootinstall} = $data{arg}{'disk'}; + }else{ + if(`mount | grep "$data{arg}{'disk'}"`){ + printmes(gettext('On the disk is to mount partitions')."!\n"); + beep(); return ""; + } + + #проверим размер диска + my $disk = $data{arg}{'disk'}; + $disk =~m/\/([^\/]+)$/; + $disk = "/sys/block/$1/size"; + if(!-e $disk){ + printmes(gettext('The size of the disk is not defined')."!\n"); + beep(); return ""; + }else{ + open(F, $disk); + my $size = ; + close(F); + chomp $size; + + $size*=512/1024/1024/1024; #переведем в гигабайты + if($size < 45){ + printmes(gettext('The size of the disk is not sufficient to perform automatic partitioning')."!\n"); + beep(); return ""; + } } + + $data{rootinstall} = $data{arg}{'disk'}."2"; #устанавливаем во второй раздел диска + $data{data_install_set} = $data{arg}{'disk'}."5"; #раздел данных пятый + $data{partitions_dev} = $data{arg}{'disk'}; + $data{partitions_fdisk} = + " /var/calculate auto noatime 0 0\n". + "/var/calculate/home /home auto bind 0 0\n". + "/var/calculate/share /usr/calculate/share auto bind 0 0\n\n"; + } } + + #---------------------------------------------------------------------- + # Проверим id пользователя, запустившего скрипт + #---------------------------------------------------------------------- + { + my $id = `$data{path} id -u`; chomp $id; + if($id > 0){ + printmes(gettext('Only root can perform system installation')."!\n"); + $data{NOLOG}++; #отключим лог, т.к. мы все равно в него ничего не сможем записать + beep(); return ""; + } } + + #---------------------------------------------------------------------- + # Определим и проверим директорию установки, директорию временных файлов + #---------------------------------------------------------------------- + if(!$data{tmpdir}){ + if(defined $data{arg}{'iso'}){ + $data{tmpdir} = "/var/calculate/tmp"; + }else{ + $data{tmpdir} = "/var/calculate/tmp"; + } + } + + if(!$data{mount} && !defined $data{addition}){ + if(!$data{builder}){ + $data{mount} = "/mnt/install"; + }else{ + $data{mount} = "/mnt/builder"; + } } + + if(!defined $data{arg}{'iso'}){ + $data{'chroot'} = $data{mount}; + }else{ + $data{'chroot'} = "$data{tmpdir}/livecd"; + } + + if(-e $data{mount} && !$data{builder_chroot} && !defined $data{arg}{'vars'} && !defined $data{arg}{'list'} && !defined $data{arg}{'iso'}){ + system "$data{path} rmdir $data{mount}" + } + + if(-e $data{mount} && !$data{builder_chroot} && !defined $data{arg}{'vars'} && !defined $data{arg}{'list'} && !defined $data{arg}{'iso'}){ + printmes(gettext('Error')."! "); + printmes(gettext('For continuation please remove directory')); + printmes(" $data{mount} "); + printmes(gettext('created by installer')."!\n"); + beep(); return ""; + }elsif($data{builder_chroot} && !defined $data{arg}{'vars'}){ + my $mounts = 0; + foreach(`$data{path} mount`){ + if(/on\s+($data{chroot}\/[^\s]+)/){ + $mounts++; + } } + if($mounts < 4){ + printmes(gettext('For performance of operation it is necessary to configure system')); printmes(".\n"); + printmes(gettext('Execute with parameter')); printmes(" \"--configure\".\n"); + beep(); return ""; + } } + return 1; +} + +#------------------------------------------------------------------------------ +# +# Определим систему для установки или сборки +# +#------------------------------------------------------------------------------ +sub welcome{ + #---------------------------------------------------------------------- + # Определим наименование устанавливаемой или обновляемой системы + # %{$data{ver}}, $data{'calculate'}, $data{'calculatename'} + #---------------------------------------------------------------------- + #обозначение зарезервированных версий систем + %{$data{ver}} = ( + CLD => "Calculate Linux Desktop", + CLDX => "Calculate Linux Desktop", + CDS => "Calculate Directory Server", + ); + %{$data{ver_desktop}} = ( + CLD => "KDE", + CLDX => "XFCE", + ); + + #если передан параметр выбора системы, установим значения + if($data{arg}{'os'}){ + if($data{ver}{ uc($data{arg}{'os'}) }){ + $data{'calculate'} = uc($data{arg}{'os'}); + $data{'calculatename'} = $data{ver}{$data{calculate}}; + }else{ + $data{'calculate'} = $data{arg}{'os'}; +# if(lc($data{'calculate'}) eq 'acoola'){$data{'calculate'} = "AcoolA";} + $data{'calculatename'} = $data{'calculate'}; + } + #в противном случае определим по текущей + #новым способом + }elsif(getini(calculate)){ + if($data{builder} && !defined $data{addition} && getini(calculate, 'chroot')){ + $data{calculate} = getini(calculate, 'chroot'); + }else{ + $data{calculate} = getini(calculate); + } + $data{'calculatename'} = $data{ver}{$data{calculate}}; + if(!$data{'calculatename'}){$data{'calculatename'} = $data{calculate}} + + #старым способом (из issue-файла) + }else{ + my $path = "/etc/issue"; + my $chk; + if($data{builder} && `$data{path} mount | grep "$data{'chroot'} "` && -e $data{'chroot'}.$path){ + $path = $data{'chroot'}.$path; + $chk = 'continue'; + }elsif(-e $path){ + $chk = 'building'; + } + + #если файл с версией системы найден, определим версию + if($chk && `$data{path} cat $path | grep "Welcome to "`=~m#Welcome to \\n.\\O \(([a-zA-Z ]+) ([^\s\)]+)#){ + my $issuename = $1; #имя дистрибутива извлеченное из issue + foreach(keys %{$data{ver}}){ + if($data{ver}{$_} eq $issuename){ + $data{'calculate'} = $_; + $data{'calculatename'} = $data{ver}{$data{calculate}}; + last; + } } + #если имя не определено, но оно новое и мы его уже передали параметром --configure + #if($data{builder} && !$data{'calculate'} && $chk eq 'continue'){ + if(!$data{'calculate'}){ + $data{'calculatename'} = $issuename; + if($issuename=~m/ /){ + #сократим название, разделенное пробелами + foreach(split / /, $issuename){ + $data{'calculate'} .= substr($_, 0, 1); + } + }else{ + $data{'calculate'} = $issuename; + } + } + } + + #устанавливаемая или собираемая система по умолчанию + if(!$data{'calculate'}){ + $data{'calculate'} = "CLD"; + $data{'calculatename'} = $data{ver}{$data{calculate}}; + } + } + if($data{'calculate'}=~m/^CLD/){ + @{$data{other}}{'calculatesubname'} = ["KDE", "XFCE"]; + $data{'calculatesubname'} = $data{ver_desktop}{$data{calculate}}; + } + + #---------------------------------------------------------------------- + # Получим тип системы + # $data{system} + #---------------------------------------------------------------------- + if($data{'calculatename'}=~m/server/i || + $data{'system'}=~m/server/i + ){ + $data{'system'} = 'server' + }else{ + $data{'system'} = 'desktop' + } + + #---------------------------------------------------------------------- + # Приветственное сообщение + #---------------------------------------------------------------------- + if($data{builder}){ + printmes(gettext('Building')); printmes(" $data{'calculatename'}\n"); + }elsif( + !defined $data{arg}{update} && + !defined $data{arg}{'vars'} && + !defined $data{arg}{'hardware'} && + !defined $data{arg}{'profile'} && + !defined $data{arg}{'setup'} && + !defined $data{arg}{'backup'} && + !defined $data{arg}{'useradd'} && + !defined $data{arg}{'userdel'} && + !defined $data{arg}{'userpasswd'} && + !defined $data{arg}{'groupadd'} && + !defined $data{arg}{'groupdel'} && + !defined $data{arg}{'groupmod'} && + !defined $data{arg}{'mailuseradd'} && + !defined $data{arg}{'mailuserdel'} && + !defined $data{arg}{'mailuserpasswd'} +# && +# !defined $data{arg}{'mailgroupadd'} && +# !defined $data{arg}{'mailgroupdel'} + ){ + printmes(gettext('Installation')); + printmes(" $data{calculatename}\n"); + }else{ + printmes("$data{calcinstall}\n"); + } +} + +#------------------------------------------------------------------------------ +# +# Соберем сведения о системе +# +#------------------------------------------------------------------------------ +sub checksystem{ + #отключим вывод сообщений + if($data{CHECKSYSTEM_NOMES}){ + $data{NOMES}++; + }; + printmes(gettext('Collecting system information')."\n"); + + #---------------------------------------------------------------------- + # Выполним проверки доступности необходимых программ и определим пути + # $data{exec_host}, $data{exec_nmap} + #---------------------------------------------------------------------- + if(!system "which host >/dev/null 2>&1"){$data{exec_host} = `which host`; chomp $data{exec_host};} + if(!system "which nmap >/dev/null 2>&1"){$data{exec_nmap} = `which nmap`; chomp $data{exec_nmap};} + if(!system "which wget >/dev/null 2>&1"){$data{exec_wget} = `which wget`; chomp $data{exec_wget};} + #---------------------------------------------------------------------- + # Считаем параметры ядра + #---------------------------------------------------------------------- + if(-e "/proc/cmdline"){ + #считаем параметры + open(F, '/proc/cmdline'); + my $cmdline = ; + close(F); + chomp $cmdline; $cmdline.=' '; + #разобьем на переменные + foreach(split / /,$cmdline){ + if(/^calculate=(.+)/){ + #разобьем на значения передаваемые для calculate + ( + $data{boot}{lang}, + $data{boot}{keybd}, + $data{boot}{timezone}, + $data{boot}{video_resolution}, + ) = split /,/,$1; + $data{boot}{set}++; + } } } + + #---------------------------------------------------------------------- + # Определим хэши паролей root/root, guest/guest + # $data{hash_root}, $data{hash_guest} + #---------------------------------------------------------------------- + $data{hash_root} = 'root:$1$JMvNh5xg$VnV1DyJdTcwuZ0hp5YiJG0:14349:0:::::'; + $data{hash_guest} = 'guest:$1$uSceexyH$vLQn4kh7NUzNqZtlrgEWF.:14349:0:99999:7:::'; + + #---------------------------------------------------------------------- + # Определим тип операции + # $data{pass} + #---------------------------------------------------------------------- + @{$data{other}}{'pass'} = ["profile", "builder", "install"]; + if(defined $data{arg}{'profile'} || defined $data{arg}{'setup'}){ + $data{pass} = "profile"; + }elsif($data{builder}){ + $data{pass} = "builder"; + }else{ + $data{pass} = "install"; + } + + if(!$data{builder}){ + if($data{erase} =~m/off/i ||$data{erase} =~m/no/i){ + $data{erase} = "off"; + }else{ + $data{erase} = "on"; + } + }else{$data{erase} = "on";} + + #---------------------------------------------------------------------- + # Определим номер версии клиента + # $data{client} + #---------------------------------------------------------------------- + $data{client} = ""; + my $clientfile = "/usr/lib/calculate/calculate-client/pym/cl_vars_client.py"; + if($data{pass} eq "profile" && -e $clientfile){ + $data{client} = `$data{path} cat $clientfile | grep " cl_ver "`; + $data{client}=~s/.+'Calculate-client\s+([0-9\.]+).+/$1/; + chomp $data{client}; + } + + #---------------------------------------------------------------------- + # Флаг включения композитного режима + #---------------------------------------------------------------------- + if(!$data{composite} && -e '/var/log/Xorg.0.log'){ + open(F, '/var/log/Xorg.0.log'); + foreach(){ + if(m/Composite.*enabled/){$data{composite} = 'on'; last;} + } + close(F); + if(!$data{composite}){ $data{composite} = 'off'; } + }elsif($data{composite}=~m/on/i || $data{composite}=~m/yes/i || $data{composite}=~m/true/i){ + $data{composite} = 'on'; + }else{ $data{composite} = 'off'; } + + #---------------------------------------------------------------------- + # Флаг выполнения make menuconfig ядра при сборке системы, + # флаг пропуска первого пакета при возобновлении сборки. + # $data{menuconfig}, $data{skipfirst} + #---------------------------------------------------------------------- + if($data{builder}){ + if(!$data{menuconfig} || $data{menuconfig}=~m/^yes$/i || $data{menuconfig}=~m/^on$/i){ + $data{menuconfig} = "on"; + }else{ + $data{menuconfig} = "off"; + } + if(!$data{skipfirst} || $data{skipfirst}=~m/^no$/i || $data{skipfirst}=~m/^off$/i){ + $data{skipfirst} = "off"; + }else{ + $data{skipfirst} = "on"; + } + } + + #---------------------------------------------------------------------- + # Определим графический режим фреймбуфера + #---------------------------------------------------------------------- + if(-e "/sys/class/graphics/fb0"){ + $data{fb} = 'vesa'; + }else{ + $data{fb} = 'console'; + } + + #---------------------------------------------------------------------- + # Язык, локаль, консольный шрифт + # http://gentoo-wiki.com/TIP_Speak_Your_Language + #---------------------------------------------------------------------- + #system: locale, keymap, dumpkeys_charset, consolefont, consoletranslation, xkblayout + #KDE: kb_groups, kb_layout, country, language, dictionary + my %lang = ( + #Belarussian + 'be_BY' => ["be_BY.UTF-8", "by", "koi8-u", "Cyr_a8x16", "", "us,by", + "by(winkeys):us", "us,by(winkeys)", "by", "ru", "ru"], + #Belgian + 'fr_BE' => ["fr_BE.UTF-8", "be-latin1", "", "lat9w-16", "", "us,be", + "", "us,be", "be", "en_US", "en"], + #Brazilian Portuguese + 'pt_BR' => ["pt_BR.UTF-8", "br-abnt2", "", "lat9w-16", "", "pt,us", + "", "us,pt", "br", "pt_BR", "en"], + #Canadian French + 'fr_CA' => ["fr_CA.UTF-8", "cf", "", "default8x16", "8859-1_to_uni", "us,ca_enhanced", + "", "us,ca(fr)", "ca", "en_US", "en"], + #Danish + 'da_DK' => ["da_DK.UTF-8", "dk-latin1", "", "lat0-16", "", "us,dk", + "", "us,dk", "dk", "da", "da"], + #French + 'fr_FR' => ["fr_FR.UTF-8", "fr-latin9", "", "lat0-16", "", "fr,us", + "", "us,fr(latin9)", "fr", "en_US", "en"], + #German + 'de_DE' => ["de_DE.UTF-8", "de-latin1", "", "lat9w-16", "", "de,us", + "", "us,de", "de", "de", "de"], + #Icelandic + 'is_IS' => ["is_IS.UTF-8", "is-latin1", "", "cp850-8x16", "8859-1_to_uni", "us,is", + "", "us,is", "is", "en_US", "en"], + #Italian + 'it_IT' => ["it_IT.UTF-8", "it", "", "default8x16", "8859-15_to_uni", "us,it", + "", "us,it", "it", "it", "it"], + #Norwegian + 'nn_NO' => ["nn_NO.UTF-8", "no-latin1", "", "lat9w-16", "", "us,no", + "", "us,no", "no", "nn", "en"], + #Polish + 'pl_PL' => ["pl_PL.UTF-8", "pl", "", "lat2-16", "8859-2_to_uni", "us,pl", + "", "us,pl", "pl", "pl", "pl"], + #Russian + 'ru_RU' => ["ru_RU.UTF-8", "-u ru4", "koi8-r", "ter-k14n", "", "us,ru(winkeys)", + "ru(winkeys):us", "us,ru(winkeys)", "ru", "ru", "en"], + #Spanish + 'es_ES' => ["es_ES.UTF-8", "es euro2", "", "lat0-16", "", "es,us", + "", "us,es", "es", "es", "es"], + #Swedish + 'sv_SE' => ["sv_SE.UTF-8", "sv-latin1", "", "lat0-16", "", "us,se", + "", "us,se", "se", "sv", "sv"], + #Ukrainian + 'uk_UA' => ["uk_UA.UTF-8", "ua-utf", "koi8-u", "ter-v14n", "", "us,ua", + "ua(winkeys):us", "us,ua(winkeys)", "ua", "uk", "uk"], + #United Kingdom/British + 'en_GB' => ["en_GB.UTF-8", "uk", "", "default8x16", "", "us,gb", + "", "us,gb", "gb", "en_US", "en_GB"], + #United State/English + 'en_US' => ["en_US.UTF-8", "us", "", "default8x16", "", "us", + "", "us", "us", "en_US", "en_US"], + ); + #поддержка языков в приложениях + #$data{linguas} = "be be_BY da de en en_GB es fr it nb nn pl pt_BR ru se sv uk"; + $data{linguas} = "en de es fr pt_BR ru uk"; + + @{$data{other}}{lang} = ["pt_BR", "de_DE", "en_US", "es_ES", "fr_FR", "ru_RU", "uk_UA"]; + + if(!$data{lang} && $data{boot}{lang}){ + $data{lang}=$data{boot}{lang}; + }elsif(!$data{lang}){ + if(!$data{builder}){ + $ENV{LANG}=~m/^([^\.]+)\./; + $data{'lang'} = $1; + }else{ + $data{'lang'} = 'en_US'; + } } + + #проверим на корректность введенного значения и на наличие поддержки + if(!$lang{$data{lang}}){$data{lang}="en_US";} + + #установим раскладку + my $changekb; + if($data{boot}{keybd}){$changekb = $data{boot}{keybd};} + else{ + #получим раскладку из файла /etc/conf.d/keymaps + if(-e '/etc/conf.d/keymaps'){ + open(F, '/etc/conf.d/keymaps'); + foreach(){ + if(m/^KEYMAP="?([^"\n]+)"?/){ + my $keymap = $1; + foreach(keys %lang) { + if( $lang{$_}[1] eq $keymap ) { + $changekb = $_; + last; + } } + last; + } } + close(F); + } + + if($data{'arg'}{'set-lang'} || $data{'arg'}{'SET-lang'} || !$changekb){ + $changekb = $data{lang}; + } + } + + #выберем язык и раскладку + ($data{'locale'}, + #$data{'keymap'}, + #$data{'dumpkeys_charset'}, + #$data{'consolefont'}, + #$data{'consoletranslation'}, + #$data{'xkblayout'}, + #$data{'kb_groups'}, + #$data{'kb_layout'}, + #$data{'country'}, + $data{'language'}, + $data{'dictionary'} + ) = @{$lang{$data{lang}}}[0,9..10]; + + (#$data{'locale'}, + $data{'keymap'}, + $data{'dumpkeys_charset'}, + $data{'consolefont'}, + $data{'consoletranslation'}, + $data{'xkblayout'}, + $data{'kb_groups'}, + $data{'kb_layout'}, + $data{'country'}, + #$data{'language'}, + #$data{'dictionary'} + ) = @{$lang{$changekb}}[1..8]; + + printmes(" ".gettext('Language')); printmes(": $data{lang}\n"); + printmes(" ".gettext('Keymap')); printmes(": $changekb\n"); + + #---------------------------------------------------------------------- + # Временная зона + #---------------------------------------------------------------------- + #Системное время в гринвиче или локальное "UTC" или "local" + if(!$data{clock} && -e "/etc/conf.d/hwclock"){ + my $clock = `$data{path} cat /etc/conf.d/hwclock | grep "CLOCK="`; + if($clock){ + $clock=~m/\"([^\"]+)\"/; + $data{clock} = $1; + } } + if(!$data{clock} && -e "/etc/conf.d/clock"){ + my $clock = `$data{path} cat /etc/conf.d/clock | grep "CLOCK="`; + if($clock){ + $clock=~m/\"([^\"]+)\"/; + $data{clock} = $1; + } } + if($data{clock}=~m/utc/i){$data{clock} = "UTC";} + else{$data{clock} = "local";} + + + if(!$data{timezone} && $data{boot}{timezone}){$data{timezone} = $data{boot}{timezone}} + else{ + if(!$data{timezone} && -e "/etc/timezone"){ + $data{timezone} = `$data{path} cat /etc/timezone`; + chomp $data{timezone}; + } + if(!$data{timezone} && -e "/etc/conf.d/clock"){ + my $timezone = `$data{path} cat /etc/conf.d/clock | grep "TIMEZONE="`; + if($timezone){ + $timezone=~m/\"([^\"]+)\"/; + $data{timezone} = $1; + } } + if(!$data{timezone} || ($data{timezone} && !-e "/usr/share/zoneinfo/$data{timezone}")){ + $data{timezone} = "UTC"; + } } + + printmes(" ".gettext('Timezone')); printmes(": $data{timezone}\n"); + + #---------------------------------------------------------------------- + # Установим значение переменной в ram, в случае если установка профиля + # производится в оперативную память (настройка сеанса CDROM), а также + # load - носитель в значение ram в случае загрузки с CD/DVD + # $data{location} + #---------------------------------------------------------------------- + $data{location} = ""; + $data{load} = ""; + if(`mount | grep "/dev/loop/0 on / type"` || + `mount | grep "/dev/loop0 on / type"` || + `mount | grep "/dev/loop0 on /newroot/mnt/livecd type"` + ){ + if(defined $data{arg}{'profile'}){ + $data{location} = "ram"; + } + $data{load} = "ram"; + } + + #---------------------------------------------------------------------- + # Сгенерируем случайное время в минутах + #---------------------------------------------------------------------- + $data{rand_min} = sprintf("%.0f", rand() * 59); + + #---------------------------------------------------------------------- + # Считаем имя компьютера + # $data{hostname} + #---------------------------------------------------------------------- + printmes(" ".gettext('Computer name')); + if(!$data{hostname}){ + $data{hostname} = `$data{path} hostname -s 2>&1`; + #упрощенный вариант, следует выполнять только если не указан домен в системе + if($data{hostname}=~m/^hostname: /){ + $data{hostname} = `$data{path} hostname 2>&1`; + } + if($data{hostname}=~m/^hostname: /){ + $data{hostname} = $data{calculate}; + printmes(": <"); printmes(gettext('undefined')); printmes(">\n"); + }else{ + chomp $data{hostname}; + if($data{hostname} eq 'livecd'){$data{hostname} = $data{calculate};} + printmes(": $data{hostname}\n"); + } + }else{ + printmes(": $data{hostname}\n"); + } + + #---------------------------------------------------------------------- + # Определим домен + # $data{domain} + #---------------------------------------------------------------------- + if(!$data{domain}){ + $data{domain} = `$data{path} hostname -d 2>&1`; + if($data{domain}=~m/^hostname: /){$data{domain} = "local";}else{chomp $data{domain};} + } + if($data{domain} ne 'local'){ + printmes(" ".gettext('Domain name')); printmes(": $data{domain}\n"); + } + + #---------------------------------------------------------------------- + # Параметры пользователя по умолчанию + #---------------------------------------------------------------------- + if(!$data{user_comment}){$data{user_comment} = "CDS User";} + if(!$data{user_groups}){$data{user_groups} = "";} + if(!$data{mail} && $data{arg}{'mailuseradd'}){ + $data{mail} = "$data{arg}{'mailuseradd'}\@$data{hostname}.$data{domain}"; + }elsif($data{mail} && $data{mail}!~m/\@/ && $data{domain}){ + $data{mail} = "$data{mail}\@$data{hostname}.$data{domain}"; + } + + #---------------------------------------------------------------------- + # Определим сетевые настройки: + # шлюз, локальные интерфейсы, локальные сети, настройки /etc/conf.d/net, + # сетевые устройства + # $data{gateway}, $data{hostsallow}, $data{networks}, $data{netconf}, + # $data{net_*} = on|off + #---------------------------------------------------------------------- + if(!$data{gateway}){ + my $route = `$data{path} route -n | grep "^0.0.0.0"`; + chomp $route; + $route=~m/^0\.0\.0\.0\s+([0-9\.]+)\s.+\s+([^\s]+)$/; + if($1){ + $data{gateway} = $1; + $data{gateway_dev} = $2; + } + } + { + printmes(" ".gettext('Network devices')); printmes(":"); + #http://krow.net/dict/subnet.html + my %net = ( + "255.255.0.0" => "/16", + "255.255.255.0" => "/24", + "255.255.255.128" => "/25", + "255.255.255.192" => "/26", + "255.255.255.252" => "/30", + "255.255.255.255" => "", + ); + + #обнулим переменные + my $sp = ""; my $dev = ""; my $dev_open = 1; my $br; my $gateway_dhcp; + $data{netconf} = ""; $data{hostsallow} = ""; $data{networks} = ""; + foreach(`ifconfig -a`){ + #девайс + if(/^([^\s]+)\s+.*Ethernet/){ + if($dev_open == 0){ + printmes("$br $dev (off)"); + $data{"net_$dev"} = "off"; + $br = ","; + } + $dev_open = 0; #девайс выключен, если не будет другой информации + $dev = $1; + } + if(/inet addr:([0-9\.]+).+Bcast:.+Mask:([0-9\.]+)/){ + my $addr = $1; my $mask = $2; + my @ip = split /\./, $addr; + if( + $ip[0] == 10 || + ($ip[0] == 172 && $ip[1] >= 16 && $ip[1] <= 31) || + ($ip[0] == 192 && $ip[1] == 168) + ){ + $data{hostsallow} .= $sp.$addr.$net{$mask}; + #определим сеть + if($mask eq "255.255.255.255"){ + $data{networks} .= $addr; + }elsif($mask eq "255.255.255.252"){ + $data{networks} .= "$ip[0].$ip[1].$ip[2].252".$net{$mask}; + }elsif($mask eq "255.255.255.192"){ + $data{networks} .= "$ip[0].$ip[1].$ip[2].192".$net{$mask}; + }elsif($mask eq "255.255.255.128"){ + $data{networks} .= "$ip[0].$ip[1].$ip[2].128".$net{$mask}; + }elsif($mask eq "255.255.255.0"){ + $data{networks} .= "$ip[0].$ip[1].$ip[2].0".$net{$mask}; + }elsif($mask eq "255.255.0.0"){ + $data{networks} .= "$ip[0].$ip[1].0.0".$net{$mask}; + } + $sp = " "; + #определим получен ли IP через DHCP + if( + !-e "/var/lib/dhcpcd/dhcpcd-$dev.info" && + !(-e "/var/lib/dhcp/dhclient.leases" && `grep $dev /var/lib/dhcp/dhclient.leases`) && + !-e "/var/lib/dhcpcd/dhcpcd-$dev.lease" + ){ + $data{netconf} .= "\nconfig_$dev=( \"$addr$net{$mask}\" )"; + printmes("$br $dev ($addr)"); + }else{ + $data{netconf} .= "\nconfig_$dev=( \"dhcp\" )"; + if($dev eq $data{gateway_dev}){ + $gateway_dhcp++; + } + printmes("$br $dev (DHCP)"); + } + $data{"net_$dev"} = "on"; + $br = ","; + }else{ + $data{netconf} .= "\nconfig_$dev=( \"$addr$net{$mask}\" )"; + } + $dev_open = 1; + $data{netconf} .= "\nmodules_eth0=( \"!plug\" )"; + } } + if($dev_open == 0){ + printmes("$br $dev (off)"); + $data{"net_$dev"} = "off"; + } + + if($data{gateway_dev} && !$gateway_dhcp){ + $data{netconf} .= "\nroutes_$data{gateway_dev}=( \"default gw $data{gateway}\" )"; + } + + printmes("\n"); + } + + if(!$data{netconf} && $data{load} eq "ram"){ + $data{netconf} = "\nconfig_eth0=( \"dhcp\" )"; + } + + #---------------------------------------------------------------------- + # Получим версию обновляемой, наличие обновлений, название + # устанавливаемой системы + # $data{os}, $data{ospatch}, $data{ospatchsplit}, $data{linuxold} + #---------------------------------------------------------------------- + $data{os} = ''; $data{ospatch} = ''; $data{ospatchsplit} = ''; + $data{linuxold} = ''; + if(!$data{builder} || defined $data{addition} || defined $data{arg}{'iso'}){ + printmes(" ".gettext('Installed system').": "); + if(getini(calculate) && getini(linuxver)){ + $data{linuxold} = $data{ver}{getini(calculate)}; + $data{os} = getini(linuxver); + printmes("$data{linuxold} $data{os}\n"); + if(getini(ospatch)){ + $data{ospatch} = getini(ospatch); + printmes(" ".gettext('Update')); printmes(": $data{ospatch}\n"); + $data{ospatchsplit} = "-"; + } + + #для совместимости со старыми инсталляциями, проверим файл /etc/issue + }elsif(-e "/etc/issue" && `$data{path} cat /etc/issue | grep "Welcome to "`=~m#Welcome to \\n.\\O \(([a-zA-Z ]+) ([^\s\)]+)#){ + $data{linuxold} = $1; + { + my ($os, $patch) = split /-/, $2; #обрежем обновления + if($os > 0){ + $data{os} = "$os"; + if($patch){$data{ospatch} = $patch;} + } } + if(!$data{linuxold}){$data{linuxold} = $data{calcname};} + printmes("$data{linuxold} $data{os}\n"); + + if($data{ospatch}){ + printmes(" ".gettext('Update')); printmes(": $data{ospatch}\n"); + $data{ospatchsplit} = "-"; + } + }elsif(-e "/etc/gentoo-release"){ + $data{linuxold} = "Gentoo Linux"; + printmes("$data{linuxold}\n"); + }else{ + $data{linuxold} = "Old Linux"; + printmes("<"); printmes(gettext('undefined')); printmes(">\n"); + } } + + printmes(gettext('Hardware')."\n"); + #---------------------------------------------------------------------- + # Получим производителя оборудования + # $data{vendor}, $data{laptop}, $data{laptop_model} + # $data{board_model}, $data{board_vendor} + #---------------------------------------------------------------------- + $data{laptop} = ""; + if(-e "/sys/class/dmi/id/chassis_vendor" + ){ + $data{vendor} = `cat /sys/class/dmi/id/chassis_vendor`; chomp($data{vendor}); + + if($data{vendor}=~m/^\s+$/ || $data{vendor}=~m/Chassis Manufacture/){ + $data{vendor} = 'Chassis Manufacture'; + } + + if(-e "/sys/class/dmi/id/board_name" && + (`cat /sys/class/dmi/id/board_name | grep "Portable PC"` || + `lshal -u /org/freedesktop/Hal/devices/computer | grep system.formfactor | grep laptop` || + `lshal -u /org/freedesktop/Hal/devices/computer | grep system.chassis.type | grep Notebook` + ) + ){ + $data{laptop} = lc($data{vendor}); + $data{laptop_model} = `cat /sys/class/dmi/id/product_name`; + chomp ($data{laptop_model}); + }elsif(-e "/sys/class/dmi/id/board_name" && -e "/sys/class/dmi/id/board_vendor"){ + $data{board_model} = `cat /sys/class/dmi/id/board_name`; + chomp ($data{board_model}); + $data{board_vendor} = `cat /sys/class/dmi/id/board_vendor`; + chomp ($data{board_vendor}); + } + } + + #---------------------------------------------------------------------- + # Получим архитектуру процессора, файл stage, маску нестабильных файлов + # $data{march}, $data{stage}, $data{unmask} + #---------------------------------------------------------------------- + { + @{$data{other}}{'march'} = ["i686", "x86_64"]; + + printmes(" ".gettext('Machine hardware name')); printmes(":"); + my $march = `$data{path} uname -m`; chomp $march; + if($data{march} && $data{march} ne $march){ + $data{dif_march} = "yes"; #флаг установки другой архитектуры + }elsif(!$data{march}){ + $data{march} = $march; + } + printmes(" $data{march}\n"); + } + if($data{march} eq 'i686'){ + if($data{builder}){ + $data{stage} = "stage3-i686"; + } + $data{unmask} = "~x86"; + } + elsif($data{march} eq 'x86_64'){ + if($data{builder}){ + $data{stage} = "stage3-amd64"; + } + $data{unmask} = "~amd64"; + } + elsif(!defined $data{arg}{'vars'}){ + printmes("\n"); + printmes(gettext('Machine hardware name')); + printmes(" $data{march} "); + printmes(gettext('not supported')); printmes(".\n"); + + printmes(gettext('Use value')); + printmes(": \"i686\", \"x86_64\""); + printmes(".\n"); + + beep(); + exit; + } + + #---------------------------------------------------------------------- + # Определим версию последнего доступного образа системы, либо версию + # собираемого образа, имя файла с образом, имя ISO-файла, который можно + # собрать + # $data{linuxver}, $data{linux}, $data{iso} + #---------------------------------------------------------------------- + #наложение профиля + if(defined $data{arg}{'profile'}){ + $data{linuxver} = $data{os}; + #сборка системы + }elsif($data{builder} && !defined $data{arg}{'iso'} && !defined $data{addition}){ + if(!$data{linuxver}){ + if(getini("linuxver", "chroot")){ + $data{linuxver} = getini("linuxver", "chroot"); + }else{ + my $time = timelocal(localtime); + my ($month, $year) = (localtime($time))[4,5]; $month += 1; $year-=100; + $data{linuxver} = "$year.$month"; + + my $point, $subver; + while (-e + "/usr/calculate/share/linux/". + lc($data{'calculate'})."-$data{linuxver}". + $point.$subver. + "-$data{march}.tar.bz2" || + -e + "/usr/calculate/share/linux/". + lc($data{'calculate'})."-$data{linuxver}". + $point.$subver. + "-$data{march}.tar.lzma" || + -e + "/usr/calculate/share/linux/". + lc($data{'calculate'})."-$data{linuxver}". + $point.$subver. + "-$data{march}.tar.7z" || + -e + "/usr/calculate/share/linux/". + lc($data{'calculate'})."-$data{linuxver}". + $point.$subver. + "-$data{march}.iso" + ){ + $point = "."; + $subver+=1; + } + $data{linuxver} = "$data{linuxver}$point$subver"; + } } + $data{linux} = lc($data{'calculate'})."-$data{linuxver}-$data{march}.tar.bz2"; + #установка системы + }elsif(-e "/usr/calculate/share/linux" && $data{load} ne "ram"){ + my $find = "\/".lc($data{'calculate'})."\-.*\-$data{march}\."; + my $ver = lc($data{'calculate'})."-\([^-]+)-$data{march}"; #шаблон сравнения + my $mask; if(!defined $data{arg}{iso}){ + $mask = "iso|tar\.7z|tar\.lzma|tar\.bz2"; + }else{ + $mask = "tar\.7z|tar\.lzma|tar\.bz2"; + } + foreach(`$data{path} find "/usr/calculate/share/linux/"`){ + if(/$find($mask)$/){ + chomp; + my $path = $_; + if(!$data{linux}){$data{linux} = $path; next;} + #выделим номера сравниваемых версий + $path=~m/$ver/; + my $change = $1; + $data{linux}=~m/$ver/; + my $cur = $1; + if(number_ver($cur) < number_ver($change)){$data{linux} = $path;} + } } + #обрежем путь + $data{linux}=~s/^.*\/([^\/]+)$/$1/; + #выделим номер версии + $data{linux}=~m/^[^\-]+\-([^\-]+)\-.+/; + $data{linuxver} = $1; + if(!$data{iso} && $data{linuxver}){ + $data{iso} = lc($data{'calculate'})."-$data{linuxver}-$data{march}.iso"; + }else{$data{iso} = "";} + }elsif($data{load} eq "ram" && + ( + -e "/mnt/livecd" || + `mount | grep "/dev/loop0 on /newroot/mnt/livecd type"` + ) + ){ + $data{linuxver} = $data{os}; + $data{linux} = "livecd"; + } + + #---------------------------------------------------------------------- + # Определим пакет тем для собираемой системы + # $data{themes} + #---------------------------------------------------------------------- + if($data{builder}){ + $data{themes} = "media-gfx/calculate-". + lc($data{calculate})."-themes-$data{linuxver}"; + $data{themes}=~s/(.+\.?[^\.]+)(\.[0-9]+)?/$1/; #обрежем подверсию + } + + #---------------------------------------------------------------------- + # Пути к архиву образа + #---------------------------------------------------------------------- + #пути к архивам систем + $data{linuxdir} = "/usr/calculate/share/linux"; + + #---------------------------------------------------------------------- + # Определим количество процессоров + # $data{cpus} + #---------------------------------------------------------------------- + { + if(!$data{cpus}){ + my (@cpus) = `$data{path} cat /proc/cpuinfo | grep processor`; + $data{cpus} = @cpus; + } + printmes(" ".gettext('Quantity processors')); printmes(": ".$data{cpus}."\n"); + } + + #---------------------------------------------------------------------- + # Определим видеоадаптер + # $data{video}, $data{video_drv} + #---------------------------------------------------------------------- + { + @{$data{other}}{video_drv} = [ + "fglrx", + "intel", + "nv", + "nvidia", + "radeon", + "vesa", + "vboxvideo", + "vmware" + ]; + + my @video = `$data{path} lspci | grep VGA`; + foreach(`$data{path} lspci | grep VGA`){ + my $video = $_; + #определим BusID + $video=~m/^(.{2}):(.{2})\.([^\s+])/; + $data{video_id} = "$1:$2:$3"; + if($video=~m/GeForce/ || $video=~m/nVidia/){ + if($video=~m/\[([^\]]+)\]/){$data{video} = $1;} + elsif($video=~m/(GeForce.+) nForce/){$data{video} = $1;} + elsif($video=~m/(GeForce.+) \(/){$data{video} = $1;} + else{$data{video} = "GeForce";} + $data{video} = "nVidia $data{video}"; + if(!$data{video_drv}){ + if(-e "/usr/lib/opengl/nvidia" && $data{load} ne "ram" && $data{calculate} eq "CLD"){ + $data{video_drv} = "nvidia"; + }else{ + $data{video_drv} = "nv"; + } + }elsif($data{video_drv} eq 'nv' || $data{video_drv} eq 'nvidia'){ + last; #завершим перебор, т.к. если есть другая видеокарта в системе, она нам явно не нужна + } + }elsif($video=~m/Intel/){ + $video =~m/Intel Corporation ?(Mobile )([^\s,]+)?( Series)[\s,]/; + if($2){$data{video} = "Intel $1$2$3";} + else{$data{video} = "Intel";} + if(!$data{video_drv}){ + $data{video_drv} = "intel"; + }elsif($data{video_drv} eq 'intel'){ + last; + } + }elsif($video=~m/ATI/){ + $video =~m/ATI Technologies Inc ([^\(]+)\s*[\(|\s]?$/; + if($1){ + my $name = $1; chomp $name; + $data{video} = "ATI $name"; + }else{ + $data{video} = "ATI"; + } + if(!$data{video_drv}){ + if($data{load} eq "ram" || + $data{pass} eq "install" && $data{calculate} eq "CLD" && number_ver($data{linuxver}) >= number_ver(9.6) || + $data{pass} eq "profile" && !-e "/usr/lib/opengl/ati" + ){ + $data{video_drv} = "radeon"; + }else{ + $data{video_drv} = "fglrx"; + } + }elsif( $data{video_drv} eq 'ati' || + $data{video_drv} eq 'radeon' || + $data{video_drv} eq 'radeonfb' || + $data{video_drv} eq 'fglrx' + ){ + last; + } + }elsif($video=~m/VMware/i){ + if(!$data{video_drv}){$data{video_drv} = "vmware";} + }elsif($video=~m/VirtualBox/i && $data{calculate} eq "CLD"){ + if(!$data{video_drv}){$data{video_drv} = "vboxvideo";} + }else{ + if(!$data{video_drv}){$data{video_drv} = "vesa";} + } + } + + if($data{video}){ + printmes(" ".gettext('Videocard')); + printmes(": $data{video}\n"); + } + + #определим opengl + if(!$data{opengl}){ + if($data{video_drv} eq "nvidia"){ + $data{opengl} = "nvidia"; + }elsif($data{video_drv} eq "fglrx"){ + $data{opengl} = "ati"; + }elsif( $data{video_drv} ne "vesa" && + $data{video_drv} ne "vboxvideo" && + $data{video_drv} ne "vmware" + ){ + $data{opengl} = "xorg-x11"; + } + } + + if($data{opengl} && !$data{run_opengl}){ + $data{run_opengl} = "/usr/bin/eselect opengl set $data{opengl}" + }else{ + $data{run_opengl} = ""; + } + } + + #---------------------------------------------------------------------- + # Определим разрешение экрана + # $data{resolution} + #---------------------------------------------------------------------- + { + my $xlog = "/var/log/Xorg.0.log"; + my $xconf = "/etc/X11/xorg.conf"; + my $def_res = "1024x768"; + + if(!$data{video_resolution} && $data{boot}{set}){ + $data{video_resolution} = $data{boot}{video_resolution}; + if($data{video_resolution}!=~m/^[0-9]+x[0-9]+$/){$data{video_resolution} = 'auto'} + }elsif(!$data{video_resolution}){ + if(-e $xlog){ + #считаем лог Xorg + open (L, $xlog); + my @xlog = ; + close (L); + my $log = join /\n/, @xlog; + + if($log=~m/Virtual screen size determined to be ([0-9]+)\s*x\s*([0-9]+)/){$data{video_resolution} = "$1x$2";} + elsif($log=~m/Setting mode "([0-9\@x]+)"/){$data{video_resolution} = "$1";} + elsif($log=~m/Output ([\S]+) using initial mode ([0-9\@x]+)/){$data{video_resolution} = "$2";} #VGA|LVDS|DFP2|DVI0 + elsif($log=~m/Virtual size is ([0-9\@x]+) /){$data{video_resolution} = "$1";} + else{$data{video_resolution} = $def_res;} + }elsif(-e $xconf){ + #считаем настройки xorg.conf + open (L, $xconf); + my @xconf = ; + close (L); + my $log = join /\n/, @xconf; + if($log=~m/Modes "([^\s"]+)[\s"]/){$data{video_resolution} = "$1";} + } + + if($data{video_resolution}){ + printmes(" ".gettext('Screen resolution')); + printmes(": $data{video_resolution}\n"); + } + } + + if(!$data{video_resolution} && $data{video_drv} eq "vesa"){ + $data{video_resolution} = "800x600" + } + + if(!$data{video_resolution}){ + $data{video_resolution} = $def_res; + } + } + + #---------------------------------------------------------------------- + # Определим наличие stage, portage + # $data{stagepath}, $data{portagepath} + #---------------------------------------------------------------------- + if($data{builder} && !defined $data{addition} && !defined $data{arg}{iso}){ + $data{stagepath} = "/usr/calculate/share/stages"; + + #определим максимальную версию stage нашей архитектуры, либо подставим маску + my $stage; + opendir(STAGE, $data{stagepath}); + foreach(readdir STAGE){ + if($_ eq "." || $_ eq ".."){next;} + if($_=~m/^$data{stage}/ && $stage lt $_){$stage = $_;} + } + closedir STAGE; + if($stage){$data{stage} = $stage}else{$data{stage} = $data{stage}."-YYYYMMDD.tar.bz2"} + + if(!-e "$data{stagepath}/$data{stage}" && !defined $data{arg}{'vars'}){ + if(!-e $data{stagepath}){ + printmes(" ".gettext('Create directory')); printmes(" stages..."); + system "$data{path} mkdir $data{stagepath}"; + printmes(" ".gettext('done')); printmes(".\n"); + } + printmes("\n"); + printmes(gettext('To continue сopy file')); + printmes(" \"$data{stage}\" "); + printmes(gettext('to directory')); printmes(" \"$data{stagepath}\".\n"); + beep(); + exit; + } + $data{portagepath} = "/usr/calculate/share/snapshots"; + + if(!-e $data{portagepath}){ + printmes(" ".gettext('Create directory')); printmes(" snapshots..."); + system "$data{path} mkdir $data{portagepath}"; + printmes(" ".gettext('done')); printmes(".\n"); + }else{ + #найдем последнюю версию портежей + my $last = 0; + opendir(DIR, $data{portagepath}); + foreach(readdir DIR){ + if($_!~/^portage-([0-9]+).tar.bz2$/){next;} + if($last < $1){$last = $1;} + } + closedir DIR; + if($last){ + $data{portage} = "portage-$last.tar.bz2"; + } + } + + if(!$data{portage} && !defined $data{arg}{'vars'}){ + printmes("\n"); + printmes(gettext('To continue сopy file')); + printmes(" \"portage-YYYYMMDD.tar.bz2\"\n"); + printmes(gettext('to directory')); printmes(" \"$data{portagepath}\".\n"); + beep(); + exit; + } + printmes(" ".gettext('Last available stage version')); printmes(": $data{stage}\n"); + printmes(" ".gettext('Last available portage version')); printmes(": $data{portage}\n"); + } + + #---------------------------------------------------------------------- + # Пути к директориям пакетов сборки + # @{$data{packages}) + #---------------------------------------------------------------------- + @{$data{packages}} = ( + "$data{dir}/install/builder/packages", + "/usr/calculate/share/builder/packages", + ); + + #---------------------------------------------------------------------- + # Получим список доступных патчей + # $data{patchdir}, %{$data{patches}}, $data{patchlast} + #---------------------------------------------------------------------- + if($data{os}){ + if(!$data{patchdir}){ + $data{patchdir} = "/usr/calculate/share/patch"; #путь к директории обновлений + } + if($data{patchlast} eq ''){ + $data{patchlast} = $data{ospatch}; + } + + opendir(DIR, $data{patchdir}); + foreach(readdir DIR){ + if($_!~/^$data{calculate}\-$data{os}\-([0-9]+)$/){next;} #файлы с патчами должны быть в формате Система-версия-номер (прим. Drage-7.12-1) + if($1 > $data{ospatch}){ + ${$data{patches}{$_}}++; + } + if(!$data{arg}{"set-patchlast"} && substr($data{patchlast},1) < $1){$data{patchlast} = $1;} + } + closedir DIR; + + if(%{$data{patches}}){ + printmes(" ".gettext('Available updates').": "); + foreach(sort keys %{$data{patches}}){ + printmes($_." "); + } + printmes("\n"); + } + } + + #---------------------------------------------------------------------- + # Прекратим собирать сведения, + # при обновлении системы, или упаковке в ISO образ + #---------------------------------------------------------------------- + if(defined $data{arg}{'updateonly'}){return '';} + + printmes(gettext('Location')."\n"); + #---------------------------------------------------------------------- + # Заголовок изменённых файлов + # $data{mestitle} + #---------------------------------------------------------------------- + if(!$data{mestitle}){ + $data{mestitle} = "# Changed by $data{calcname} "; + $data{mestitle}.=$data{calcver}; + } + if(!$data{mesline}){$data{mesline} = "#------------------------------------------------------------------------------";} + + #---------------------------------------------------------------------- + # Определим диск, с которого загружена система + # $data{load} + #---------------------------------------------------------------------- + if(`$data{path} mount | grep "[0-9] on / type"`=~m/^(\/dev\/[^\s]+)/){ + $data{rootload} = $1; + printmes(" ".gettext('Working volume')); printmes(": $data{rootload}\n"); + }else{ + $data{rootload} = ""; + printmes(" ".gettext('Working volume')); + if($data{load} eq "ram"){ + printmes(": ram\n"); + }else{ + printmes(": <"); printmes(gettext('undefined')); printmes(">\n"); + } + } + + #---------------------------------------------------------------------- + # Определим диск для установки + # $data{rootinstall} + #---------------------------------------------------------------------- + if(!$data{arg}{'profile'} && !$data{builder_chroot} && !defined $data{arg}{'update'} && !defined $data{arg}{'list'} && !defined $data{addition} && !defined $data{arg}{'iso'}){ + #выберем альтернативный диск для установки + if(!$data{rootinstall} && getini("install.from")){ + $data{rootinstall} = "/dev/".getini("install.from"); + }elsif(!$data{rootinstall} && getini("install.devfrom")){ + $data{rootinstall} = getini("install.devfrom"); + }elsif(!$data{rootinstall}){ + #проверим на схему 2-х /root разделов, предложив второй + if($data{rootload} && $data{rootload}=~m/([23])$/){ + my $install; + if($1 == 2){ + $install = 3; + }else{ + $install = 2; + } + #получим диск + $install = substr($data{rootload},0,length($data{rootload})-1).$install; + #проверим на существование и на доступность + if(-e $install && !`mount | grep '^$install '`){ + $data{rootinstall} = $install; + } } } + + #проверим на существование диска + if( + !-e "$data{rootinstall}" && + !defined $data{arg}{'vars'} && + !$data{partitions_dev} + ){ + beep(); + printmes("\n".gettext('Please specify installation volume')); + printmes(" (... --disk=/dev/sdXX).\n"); + savelog(); + exit; + } + + }elsif($data{builder_chroot}){ + #определим подмонтированный раздел в который производится установка + foreach(`$data{path} mount | grep "$data{mount} "`){ + if(m#^(/dev/[^\s]+) on $data{mount} type#){ + $data{rootinstall} = $1; + last; + } } + }else{ + $data{rootinstall} = $data{rootload}; + } + + if(!$data{builder}){ + printmes(" ".gettext('Installation volume')); + }else{ + printmes(" ".gettext('Volume for system building')); + } + + printmes(": $data{rootinstall}"); + + #---------------------------------------------------------------------- + # Определим является ли диск установки USB-HDD устройством + # определим временную задержку для корректной инициализации root-раздела + # USB устройства + # $data{'removableinstall'}, $data{grub_delay} + #---------------------------------------------------------------------- + if($data{rootinstall}){ + $data{rootinstall} =~m#/dev/(.+)#; + my $disk = $1; + if(-e "/dev/disk/by-id" && `LANG=C ls -la /dev/disk/by-id/ | grep $disk | grep ' usb-'`){ + $data{'removableinstall'} = 'on'; + printmes(" (USB-HDD)"); + if(!$data{grub_delay}){ + $data{grub_delay} = " scandelay=5"; + } + }else{ + $data{'removableinstall'} = 'off'; + if(!$data{grub_delay}){ + $data{grub_delay} = ""; + } + } + } + printmes("\n"); + + #---------------------------------------------------------------------- + # Определим является ли текущий диск USB-HDD устройством + # $data{'removableload'} + #---------------------------------------------------------------------- + $data{'removableload'} = 'off'; + if($data{load} ne 'ram' && $data{rootload}){ + $data{rootload} =~m#/dev/(.+)#; + my $disk = $1; + if(-e "/dev/disk/by-id" && `LANG=C ls -la /dev/disk/by-id/ | grep $disk | grep ' usb-'`){ + $data{'removableload'} = 'on'; + } +# else{ +# $data{'removableload'} = 'off'; +# } + } + + #---------------------------------------------------------------------- + # Укажем доступные варианты дисков для установки + #---------------------------------------------------------------------- + { + my @disks; + foreach(`$data{path} LANG=C fdisk -l 2>&1`){ + if(m/^(\/dev\/[^\s]+)\s/ && !m/Extended$/ && !m/Linux swap/){ + push (@disks, $1); + } } + + @{$data{other}}{rootinstall} = [@disks]; + } + + #---------------------------------------------------------------------- + # Флаги переноса конфигурационных файлов + #---------------------------------------------------------------------- + if( (!$data{move_fstab} || $data{move_fstab}=~m/^yes$/i || $data{move_fstab}=~m/^on$/i) + && + ($data{'removableload'} eq $data{'removableinstall'}) + && + !$data{partitions_dev} + ){ + $data{move_fstab} = "on"; + }else{ + $data{move_fstab} = "off"; + } + + #---------------------------------------------------------------------- + # Считаем uuid загрузочного диска, определим его метку + # $data{uuid_load}, $data{root_load_set} + #---------------------------------------------------------------------- + $data{uuid_load} = ""; + $data{root_load_set} = ""; + if($data{'removableload'} eq 'on' && $data{rootload}){ + $data{uuid_load} = `$data{path} vol_id --uuid $data{rootload} 2>/dev/null`; + chomp $data{uuid_load}; + $data{root_load_set} = "UUID=$data{uuid_load}"; + }else{ + $data{root_load_set} = $data{rootload}; + } + + #---------------------------------------------------------------------- + # Считаем uuid установочного диска, определим его метку + # $data{uuid_install}, $data{root_install_set} + # после форматирования, значение изменится, + # но для наложения профиля значение переменной root_install_set понадобится + #---------------------------------------------------------------------- + $data{uuid_install} = ""; + $data{root_install_set} = ""; + if($data{rootinstall}){ + $data{uuid_install} = `$data{path} vol_id --uuid $data{rootinstall} 2>/dev/null`; + chomp $data{uuid_install}; + if($data{'removableinstall'} eq 'on'){ + $data{root_install_set} = "UUID=$data{uuid_install}"; + }else{ + $data{root_install_set} = $data{rootinstall}; + } + } + + #---------------------------------------------------------------------- + # Определим параметр инф. узлов для файловой системы ext2/3 + # для переменной $data{formatrun} + #---------------------------------------------------------------------- + my $node; + { + my @i = split "/", $data{rootinstall}; + my $dev = @i[@i-1]; $dev=~m/^(.+)[0-9]+$/; + $dev = "/sys/block/$1/$dev/size"; + if(-e $dev){ + open(F, $dev); + my $size = ; + close(F); + chomp $size; + + $size*=512/1024/1024/1024; #переведем в гигабайты + #исправим кол-во нод (инф. узлов) для ext2/3 + #чтобы система успешно установилась + if($size < 8){ + $node = "-N 500000 "; + } } } + + #---------------------------------------------------------------------- + # Выберем доступную утилиту форматирования + #---------------------------------------------------------------------- + if(number_ver($data{os}) <= 90400){ + @{$data{other}}{'format'} = ["ext3", "ext2", "jfs", "reiserfs", "xfs"]; + }else{ + @{$data{other}}{'format'} = ["ext2", "ext3", "ext4", "jfs", "reiserfs", "xfs"]; + #reiser4 + } + if(!$data{'format'} && !defined $data{arg}{'list'} && !defined $data{addition}){ + my $format; + if($data{rootinstall}){ + $format = `$data{path} vol_id --type $data{rootinstall} 2>/dev/null`; + } + if($format =~m/ext2/){$data{'format'} = 'ext2';} + elsif($format =~m/ext3/){$data{'format'} = 'ext3';} + elsif($format =~m/ext4/){$data{'format'} = 'ext4';} + elsif($format =~m/jfs/){$data{'format'} = 'jfs';} + elsif($format =~m/reiserfs/){$data{'format'} = 'reiserfs';} + elsif($format =~m/reiser4/){$data{'format'} = 'reiser4';} + elsif($format =~m/xfs/){$data{'format'} = 'xfs';} + else{$data{'format'} = 'reiserfs';} + } + + #метка установочного root-диска +# $data{rootinstall} =~m/[^0-9]([0-9]+)$/; +# $data{labelinstall} = "$data{calculate}-$data{linuxver}"; +# $data{rootload} =~m/[^0-9]([0-9]+)$/; +# $data{labelload} = "root$1"; + + my %formatrun = ( + "ext2" => "/sbin/mkfs.ext2 $node-L", + "ext3" => "/sbin/mkfs.ext3 $node-L", + "ext4" => "/sbin/mkfs.ext4 $node-L", + "jfs" => "/sbin/mkfs.jfs -f -L $label", + "reiserfs" => "/sbin/mkfs.reiserfs -f -l", + "reiser4" => "/sbin/mkfs.reiser4 -y -L", + "xfs" => "/sbin/mkfs.xfs -f -L", + ); + + if($formatrun{$data{'format'}} && -e "/sbin/mkfs.$data{'format'}"){ + $data{formatrun} = $formatrun{$data{'format'}}; + }else{ + if(-e "/sbin/mkfs.ext2"){ $data{'format'} = 'ext2'; } + elsif(-e "/sbin/mkfs.ext3"){ $data{'format'} = 'ext3'; } + elsif(-e "/sbin/mkfs.ext4"){ $data{'format'} = 'ext4'; } + elsif(-e "/sbin/mkfs.jfs"){ $data{'format'} = 'jfs'; } + elsif(-e "/sbin/mkfs.reiserfs"){ $data{'format'} = 'reiserfs'; } + elsif(-e "/sbin/mkfs.reiser4"){ $data{'format'} = 'reiser4'; } + elsif(-e "/sbin/mkfs.xfs"){ $data{'format'} = 'xfs'; } + else{ $data{NOMES} = ""; printmes("\n".gettext('Error')."! ".gettext('Formatting utility not found').".\n"); return ""; } + $data{formatrun} = $formatrun{$data{'format'}}; + } + printmes(" ".gettext('File system')); printmes(": $data{'format'}\n"); + + #---------------------------------------------------------------------- + # Хэш доступных grub-у дисков, диск и загрузочный раздел grub-а + # диск для установки граба + # %{$data{grub_map}}, пример: hd0 => sda, .. + # $data{grubinstall}, $data{grubload} + #---------------------------------------------------------------------- + { + my $num = 0; + my ($grub,$dev); + foreach(`$data{path} LANG=C fdisk -l 2>&1 | grep "/dev/"`){ + if(m/^Disk (\/dev\/[^:]+)\:/){ + $grub = "hd".$num; $dev = $1; + $data{"grub_map"}{$grub} = $dev; + $num ++; + }elsif(m/^(\/dev\/[^\s]+)/ && $dev){ + my $disk = $1; + $disk =~m/^$dev(.+)/; + #для совместимости со SCSI, учтем имена дисков c0d0p1 + my $dn = $1; $dn=~m/([0-9]+)$/; #уберем если есть из номера диска букву p + my $grubdn = $1 - 1; + if($data{rootinstall}=~m/$dev$dn/){ + if($data{'removableinstall'} eq 'on'){ + $data{grubinstall} = "hd0,$grubdn"; #загрузочный диск grub + }else{ + $data{grubinstall} = "$grub,$grubdn"; #загрузочный диск grub + } + + }elsif($data{rootload}=~m/$dev$dn/){ + $data{grubload} = "$grub,$grubdn"; #диск для установки + } } } } + + #---------------------------------------------------------------------- + # Считаем меню граба grub.conf для переноса настроек + # $data{grub_another} + #---------------------------------------------------------------------- + $data{grub_another} = ""; + if($data{load} ne "ram" && $data{'removableload'} eq $data{'removableinstall'}){ + my $grub = "/boot/grub/grub.conf"; + if(-e $grub){ + open(F, $grub); + my @lines = ; + close(F); + + my $config, $record, $skip; + foreach(@lines){ + if(m/^\s*title[\s|=]+/){ + if($record && !$skip){ + $config.= $record; + } + $record = $_; + $skip = ''; + }else{ + if(m/[^\s]/ && $record){ + if($data{rootinstall} && m/^\s*kernel .*root=$data{rootinstall}/){ + $skip ++; #проскочим эту запись + } + $record.= "$_"; + } } } + if($record && !$skip){ $config.= $record;} + + $data{grub_another} = "\n".$config; + }else{ + my $oldmarch = `$data{path} uname -m`; chomp $oldmarch; + my $os; if($data{os}){ $os = " $data{os}"; } + $data{grub_another} = + "\ntitle $data{linuxold}$os $oldmarch\n". + "root ($data{grubload})\n". + "kernel /boot/vmlinuz root=$data{root_load_set}"; + } } + + #---------------------------------------------------------------------- + # Флаг установки MBR записи для загрузки системы + # $data{mbr} + #---------------------------------------------------------------------- + if(!$data{mbr} || $data{mbr}=~m/^yes$/i || $data{mbr}=~m/^on$/i){ + $data{mbr} = "on"; + }else{ + $data{mbr} = "off"; + } + + #---------------------------------------------------------------------- + # Диски файла devicemap для grub-а + # $data{DEVICEMAP} + #---------------------------------------------------------------------- + if(%{$data{grub_map}}){ + foreach(sort keys %{$data{grub_map}}){ + if($data{'removableinstall'} eq 'on'){ + if($data{rootinstall}=~m/^$data{grub_map}{$_}/){ + $data{devicemap} = "(hd0) $data{grub_map}{$_}\n"; + last; + } } + $data{devicemap} .= "($_) $data{grub_map}{$_}\n"; + } + chomp $data{devicemap}; + }else{ + $data{devicemap} = "\n"; + } + + #---------------------------------------------------------------------- + # Определим раздел свопа, сформируем строку fstab + # $data{swap}, $data{swapset} + #---------------------------------------------------------------------- + if(!$data{builder}){ + if(!$data{swap} && $data{rootinstall}){ + #поищем своп на устанавливаемом HDD + foreach(`$data{path} LANG=C fdisk -l 2>&1 | grep "Linux swap"`){ + m/^(\/dev\/[^\s]+)([0-9])/; + my $swap = $1.$2; + if($data{rootinstall}=~/^$1/){ + my $uuid_swap = `$data{path} vol_id --uuid $swap 2>/dev/null`; + if($uuid_swap eq '' && !`cat /proc/swaps | grep "^$swap"`){ + `$data{path} mkswap $swap > /dev/null`; + $uuid_swap = `$data{path} vol_id --uuid $swap 2>/dev/null`; + } + $data{swap} = $swap; + $data{uuid_swap} = $uuid_swap; + chomp $data{uuid_swap}; + last; + } } } } + + if($data{swap}){ + printmes(" ".gettext('Swap disk')); printmes(": $data{swap}\n"); + + if($data{'removableinstall'} eq 'on'){ + $data{swapset} = qq|UUID=$data{uuid_swap}\tnone\t\tswap\tsw\t\t\t0 0|; + }else{ + $data{swapset} = qq|$data{swap}\tnone\t\tswap\tsw\t\t\t0 0|; + } } + + if($data{swap}){ + $data{swap_resume} = "resume=$data{swap}"; + }else{ + $data{swap_resume} = "noresume"; + } + + #---------------------------------------------------------------------- + # С текущей системы определим дополнительные монтируемые диски + # (в том числе сетевые), пути монтирования + # @{$data{mount_dev}}, @{$data{mountdir}}, @{$data{mount_line}} + #---------------------------------------------------------------------- + my $fstab = "/etc/fstab"; + if(-e $fstab){ + open(F, $fstab); + ($data{mount_dev}, $data{mountdir}, $data{mount_line}) = getdisk_fstab(); + close(F); + if(@{$data{mount_dev}}){ + printmes(" ".gettext('Mounted disks')); printmes(": @{$data{mount_dev}}\n"); + } + } + + #---------------------------------------------------------------------- + # Определим наличие сети + #---------------------------------------------------------------------- + $data{lan} = "off"; + foreach(`$data{path} LANG=C ifconfig -s`){ + if(m/^Iface\s+/ || m/^lo\s+/){next;} + $data{lan} = "on"; + last; + } + + #---------------------------------------------------------------------- + # Определим наличие настроенных сетевых интерфейсов + # $data{netstat} + #---------------------------------------------------------------------- + $data{netstat} = 'off'; + foreach(`$data{path} route -n`){ + if(!m/^127\.0\./ && m/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\s+/){ + $data{netstat} = 'on'; + last; + } } + + #---------------------------------------------------------------------- + # Определим сетевые сервисы + # $data{proxy}, $data{useproxy}, $data{proxy_port}, $data{http_proxy}, + # $data{nfs}, $data{ntp} + #---------------------------------------------------------------------- + $data{useproxy} = 'off'; $data{proxy_port} = ''; + $data{http_proxy} = ''; $data{nfs} = ''; $data{ntp} = ''; + if(!$data{builder} && $data{netstat} eq 'on' && !defined $data{arg}{'initrd'} && !defined $data{arg}{'video'} && $data{lan} eq 'on' && $data{domain} ne 'local'){ + printmes(gettext('Network services')."\n"); + #определим прокси-сервер + if( + $data{proxy} || + ($data{exec_host} && $data{domain} && `$data{exec_host} proxy.$data{domain} | grep "has address"`) + ){ + my $proxy; + if($data{proxy}){$proxy = $data{proxy};}else{$proxy = "proxy.$data{domain}";} + + foreach("3128","8080"){ + if(IO::Socket::INET -> new(PeerAddr => "$proxy:$_", Proto => "tcp", Timeout => 1)){ + $data{proxy} = $proxy; + $data{proxy_port} = $_; + printmes(" PROXY: $data{proxy}:$data{proxy_port}\n"); + if(!$data{http_proxy}){$data{http_proxy} = "http://$data{proxy}:$data{proxy_port}/";} + last; + } } + if($data{proxy} && !$data{proxy_port}){$data{proxy} = "";} + } + if($data{proxy}){$data{useproxy} = 'on'}else{$data{useproxy} = 'off'} + + #определим наличие сетевой файловой системы + if( + $data{exec_host} && + !$data{nfs} && + $data{domain} && + `$data{exec_host} nfs.$data{domain} | grep "has address"` && + IO::Socket::INET -> new(PeerAddr => "nfs.$data{domain}:2049", Proto => "tcp", Timeout => 1) + ){ + $data{nfs} = "nfs.$data{domain}"; + } + if($data{nfs}){printmes(" NFS: $data{nfs}\n");} + + #определим наличие локального сервера времени + if(!$data{ntp}){ + if( + $data{exec_host} && + $data{domain} && + `$data{exec_host} ntp.$data{domain} | grep "has address"` + ){ + #определим не является ли компьютер сам источником времени + my $ip, $iplan; + $ip = `$data{exec_host} ntp.$data{domain} | grep "has address"`; + $ip=~s/.+\s+([0-9\.]+)$/$1/; + foreach(`LANG=C ifconfig | grep "inet addr:"`){ + $iplan = $_; + $iplan=~s/.+inet addr:([0-9\.]+)\s+.+/$1/; + if($iplan eq $ip){last;} + } + if($iplan ne $ip){ + $data{ntp} = "ntp.$data{domain}"; + } + } + if(!$data{ntp}){$data{ntp} = "ntp0.zenon.net";} + } + printmes(" NTP: $data{ntp}\n"); + } + if(!$data{ntp}){$data{ntp} = "ntp0.zenon.net";} + + #---------------------------------------------------------------------- + # Проверим наличие сервера CDS + # $data{server_url}, $data{server} + #---------------------------------------------------------------------- + if(!$data{server_url}){ + if(-e "/var/calculate/calculate.env"){ + #считаем переменную адреса сервера + open (F, "/var/calculate/calculate.env"); + foreach(){ + chomp; + if(m/^cl_remote_host\s?=\s?(.+)$/){ + $data{server_url} = $1; + } + } + close (F); + } + } + + + if(!$data{builder} && ($data{system} eq 'desktop') && + $data{netstat} eq 'on' && !defined $data{arg}{'initrd'} && !defined $data{arg}{'video'} && $data{lan} eq 'on' && $data{server_url} + ){ + if( + ( + number_ver($data{linuxver}) >= number_ver('9.6') && + `grep ldap /etc/nsswitch.conf` + ) + || + ( + $data{exec_nmap} && + ( + $data{server_url} =~m/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/i || + ($data{exec_host} && + `$data{exec_host} $data{server_url} | grep "address"`) + ) + && + `$data{exec_nmap} --system-dns -p 389 $data{server_url} | grep open` + ) + ){ + $data{server} = "CDS"; + printmes(" ".gettext('Authentification')); + printmes(": LDAP\n"); + }else{ + $data{server} = "off"; + printmes(" ".gettext('Authentification')); + printmes(": localhost\n"); + } } + + #---------------------------------------------------------------------- + # Настройки PDC + # $data{samba_domain} + #---------------------------------------------------------------------- + if($data{calculate} eq "CDS"){ + $data{samba_domain} = "CDS"; + $data{samba_netbios} = "PDC-CDS"; + } + + #---------------------------------------------------------------------- + # Определим путь к LDAP-записям пользователей + # $data{ldap_base}, $data{ldap_hash_encrypt}, $data{ldap_bindname}, $data{ldap_bind}, + # $data{ldap_bindpw}, $data{ldap_bindpw_hash}, $data{ldap_root_tmp}, $data{ldap_rootpw_tmp}, + # $data{ldap_rootname}, $data{ldap_root}, $data{ldap_rootpw}, $data{ldap_rootpw_hash} + #---------------------------------------------------------------------- + + + if(-e "/var/calculate/remote/calculate.env"){ + open (F, "/var/calculate/remote/calculate.env"); + foreach(){ + chomp; + #базовый суффикс + if(m/^ld_services_dn\s?=\s?(.+)$/){ + if(!$data{ldap_base}){$data{ldap_base} = "$1";} + } + if(m/^ld_unix_dn\s?=\s?(.+)$/){ + if(!$data{ldap_root}){$data{ldap_root} = "$1";} + } + if(m/^ld_bind_dn\s?=\s?(.+)$/){ + if(!$data{ldap_bind}){$data{ldap_bind} = "$1";} + } + if(m/^ld_bind_pw\s?=\s?(.+)$/){ + if(!$data{ldap_bindpw}){$data{ldap_bindpw} = "$1";} + } + } + close (F); + } + + #базовый суффикс + if($data{calculate} eq "CDS" || $data{server} eq "CDS"){ + if(!$data{ldap_base}){$data{ldap_base} = "dc=CDS";} + } + + #алгоритм шифрования паролей + if($data{calculate} eq "CDS"){ + $data{ldap_hash_encrypt}='{SSHA}'; + } + + #пользовательский доступ к базе с доступом только для чтения + if($data{calculate} eq "CDS" || $data{server} eq "CDS"){ + $data{ldap_bindname} = "proxyuser"; + if(!$data{ldap_bind}){ + $data{ldap_bind} = "cn=$data{ldap_bindname},".$data{ldap_base}; + } + if(!$data{ldap_bindpw}){ + $data{ldap_bindpw} = "CDS"; + } + } + + if($data{calculate} eq "CDS"){ + $data{ldap_bindpw_hash} = `$data{path} slappasswd -s $data{ldap_bindpw} -h $data{ldap_hash_encrypt}`; + chomp $data{ldap_bindpw_hash}; + } + + #временный пользователь root для инициализации базы данных + if($data{calculate} eq "CDS"){ + $data{ldap_root_tmp} = "cn=ldaproot,".$data{ldap_base}; + $data{ldap_rootpw_tmp} = password(); + $data{ldap_rootpw_tmp_hash} = `$data{path} slappasswd -s $data{ldap_rootpw_tmp} -h $data{ldap_hash_encrypt}`; + chomp $data{ldap_rootpw_tmp_hash}; + } + + #постоянный пользователь root, прописываемый в базу при первой загрузке + #с одновременным удалением временного root-а + if($data{calculate} eq "CDS" || $data{server} eq "CDS"){ + $data{ldap_rootname} = "ldapadmin"; + if(!$data{ldap_root}){ + $data{ldap_root} = "cn=$data{ldap_rootname},".$data{ldap_base}; + } + if(-e "/etc/smbldap-tools/smbldap_bind.conf"){ + $data{ldap_rootpw} = `cat /etc/smbldap-tools/smbldap_bind.conf | grep masterPw`; + chomp $data{ldap_rootpw}; + $data{ldap_rootpw}=~s/[^=]+="(.+)"/$1/; + } + #если пароля нет, сгенерируем + if(!$data{ldap_rootpw} || $data{ldap_rootpw} eq 'secret'){ + $data{ldap_rootpw} = password(); + } + } + if($data{calculate} eq "CDS"){ + $data{ldap_rootpw_hash} = `$data{path} slappasswd -s $data{ldap_rootpw} -h $data{ldap_hash_encrypt}`; + chomp $data{ldap_rootpw_hash}; + } + + #---------------------------------------------------------------------- + # Определим запущенные сервисы CDS + # $data{up-*} + #---------------------------------------------------------------------- + if(!$data{builder} && $data{calculate} eq "CDS"){ + foreach("ldap", "mail", "ftp"){ + if(getini("up.$_") eq "on"){ + $data{"up_".$_} = "on"; + }else{ + $data{"up_".$_} = "off"; + } } } + + #---------------------------------------------------------------------- + # Определим профили установки или сборки + # @{$data{profile_install}}, @{$data{profile_share}} + #---------------------------------------------------------------------- + if(!$data{builder}){ + printmes(gettext('Installation profiles')."\n"); + { + #считаем базовые профили установки + my %profiles; + opendir(PROFILES, "$data{dir}/install/profile"); + foreach(readdir PROFILES){ + if($_ eq "." || $_ eq ".."){next;} + $profiles{$_}++; + } + closedir PROFILES; + + #определим базовые профили установки + my @profile; + foreach(sort keys %profiles){ + if( + (m/^[0-9]/ || + m/^$data{calculate}$/ || m/^$data{calculate}\?.+/ || + m/^$data{system}$/ || m/^$data{system}\?.+/ + ) && + check_name($_) + ){ + push (@{$data{profile_install}}, "$data{dir}/install/profile/$_"); + my $name = $_; $name=~s/^([^\?]+)\?(.+)/$1/; + push (@profile, $name); + } } + printmes(" ".gettext('Basic')); + printmes(": ".join (", ", @profile)."\n"); + + #считаем дополнительные профили установки + my %profiles; + opendir(PROFILES, "/usr/calculate/share/profile"); + foreach(readdir PROFILES){ + if($_ eq "." || $_ eq ".."){next;} + $profiles{$_}++; + } + closedir PROFILES; + + #определим дополнительные профили установки + #пропустим, если производится установка на извлекаемый диск + #либо наоборот, с внешнего диска на ПК + my @profile; + if(!($data{pass} eq 'install' && $data{'removableload'} ne $data{'removableinstall'})){ + foreach(sort keys %profiles){ + if( + (m/^[0-9]/ || $_=~m/^$data{calculate}$/ || m/^$data{system}$/) && + check_name($_) + ){ + push (@{$data{profile_share}}, "/usr/calculate/share/profile/$_"); + my $name = $_; $name=~s/^(.+)\?(.+)/$1/; + push (@profile, $name); + } } + + #проверим профили домена + my ($i, $domain); + foreach(reverse split /\./, "$data{hostname}.$data{domain}"){ + $i++; + if($domain){$domain = "$_.$domain"}else{$domain = "$_"} + if($i > 1){ + if($profiles{$domain}){ #если профиль присутствует на диске + push (@{$data{profile_share}}, "/usr/calculate/share/profile/$domain"); + push (@profile, $domain); + } } } + + #проверим профиль компьютера + if($data{hostname} && $profiles{$data{hostname}}){ + push (@{$data{profile_share}}, "/usr/calculate/share/profile/$data{hostname}"); + push (@profile, $data{hostname}); + } + } + #покажем найденные профили + if(@profile){ + printmes(" ".gettext('Additional')); + printmes(": ".join (", ", @profile)."\n"); + } } + }else{ + #Считаем профили для различных этапов сборки + my $path = "$data{dir}/install/builder/profile"; + opendir(DIR, $path); + foreach(readdir DIR){ + if($_ eq "." || $_ eq ".."){next;} + if( + (m/^[0-9]/ && !defined $data{arg}{'pack'} && !defined $data{arg}{'iso'}) || + ($_ eq "IMG" && defined $data{arg}{'pack'}) || + ($_ eq "ISO" && defined $data{arg}{'iso'}) + ){ + push (@{$data{profile_install}}, "$path/$_"); + } } + closedir DIR; + } + + #---------------------------------------------------------------------- + # Определим путь к сборке дистрибутива в chroot окружении + # $data{builder} + #---------------------------------------------------------------------- + #директория установки + if(!$data{builderdir}){ + $data{builderdir} = "/mnt/calculate"; + } + + #---------------------------------------------------------------------- + # Определим переменные окружения emerge и команду запуска emerge + # $data{makeopts}, $data{portdir}, $data{distdir}, $data{pkgdir} + # $data{emergerun1}, $data{emergerun2} + #---------------------------------------------------------------------- + { + if(!$data{makeopts}){ + my $makecpu; + if($data{cpus} == 1){ + $makecpu = $data{cpus}; + }else{ + $makecpu = $data{cpus} + 1; + } + $data{makeopts} = "-j$makecpu"; + } + if(!$data{portdir}){ +# my $portdir; +# open (F, "/etc/make.conf"); +# foreach(`emerge --info`){ +# if(m/PORTDIR_OVERLAY="([^"]+)"/){$portdir = $1; break;} +# } +# close (F); + $data{portdir} = "/usr/local/overlays/calculate"; +# my $calcportdir = $data{portdir}; +# foreach(split / /, $portdir){ +# if($_ && $_ ne $calcportdir){$data{portdir} .= " $_";} +# } + } + if(!$data{distdir}){ + $data{distdir} = "/usr/calculate/share/distfiles"; + } + if(!$data{pkgdir}){ + $data{pkgdir} = "/usr/calculate/share/packages/$data{calculate}/$data{linuxver}/$data{march}"; + } + + $data{emergerun1} = "PORTDIR_OVERLAY='$data{portdir}' MAKEOPTS='$data{makeopts}'"; + $data{emergerun2} = ""; + if($data{builder}){ + if(!defined $data{addition}){ + $data{emergerun1} = "$data{path} chroot $data{chroot} /usr/calculate/install/calculate --chroot=\"$data{emergerun1} /usr/bin/emerge"; + $data{emergerun2} = "\""; + }else{ + $data{emergerun1} = "$data{emergerun1} /usr/bin/emerge"; + } } } + + #---------------------------------------------------------------------- + # Определим переменные настройки make.conf + # $data{use}, $data{uselist} + #---------------------------------------------------------------------- + if($data{builder}){ + #сформируем USE-флаги + #получим список USE файлов + my %usefiles = (); + #основные USE-флаги + my $path = "$data{dir}/install/builder/use"; + opendir(DIR, $path); + foreach(readdir DIR){ + if($_ eq "." || $_ eq ".."){next;} + $usefiles{"$path/$_"}++; + } + closedir DIR; + #дополнительные USE-флаги + my $path = "/usr/calculate/share/builder/use"; + opendir(DIR, $path); + foreach(readdir DIR){ + if($_ eq "." || $_ eq ".."){next;} + $usefiles{"$path/$_"}++; + } + closedir DIR; + #сформироем строки USE-флага + foreach(sort keys %usefiles){ + $data{file}{name} = $_; + my $use = ''; + my $usefile = $data{file}{name}; $usefile=~s/.+\/([^\/]+)$/$1/; + #соберем по группам USE-флаги + open (F, "$data{file}{name}"); + my @f = ; + close (F); + foreach(convert(lines => [@f], nocomment => yes)){ + chomp; + $use.=" $_"; + } + #сформируем массив USE флагов, разбитый построчно + if($use){ + $data{use} .= " $use\n"; + if($data{uselist}){$data{uselist}.=", "} + $data{uselist} .= "$usefile"; + } + } + chop $data{use}; + $data{use} = "\n$data{use}"; + } + + #---------------------------------------------------------------------- + # Определим ссылки на исходники программ + # $data{gentoo_mirrors} + #---------------------------------------------------------------------- + if($data{builder} && !$data{gentoo_mirrors}){ + $data{gentoo_mirrors} = "http://mirror.yandex.ru/gentoo-distfiles http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"; + } + + #---------------------------------------------------------------------- + # Определим USB устройства + # $data{usb_*} + #---------------------------------------------------------------------- + { + foreach(`$data{path} lsusb 2>/dev/null`){ + m/^Bus [0-9]+ Device [0-9]+: ID [0-9a-f]+:[0-9a-f]+ (.+)$/i; + if($1=~m/Hewlett-Packard/){ + $data{"usb_hp"} = "yes"; + }elsif($1=~m/Bluetooth/){ + $data{"usb_bluetooth"} = "yes"; + } + } + } + + #---------------------------------------------------------------------- + # Команда создания учетных записей пользователей + # $data{run_user} + #---------------------------------------------------------------------- + $data{run_user} = ""; + if($data{'removableload'} eq $data{'removableinstall'}){ + open(U, "/etc/passwd") or die "Ошибка открытия файла: $!"; my @PASSWD = ; close(U); + open(G, "/etc/group") or die "Ошибка открытия файла: $!"; my @GROUP = ; close(G); + my($USER,$TMP,$IDUSER,$IDGROUP,$COMMENT,$HOMEDIR,$SHELL) = (0..6); + my($gGROUP,$gTMP,$gIDGROUP,$gUSERS) = (0..3); + my $newuser = 0; + foreach(@PASSWD){ + chomp; my @user = split /:/; + #извлечем пользователей, добавленных после установки системы + if($user[$IDUSER] >= 500 && $user[$IDUSER] < 65000 && $user[$IDUSER] != 999){ + #соберем информацию по группам, в которые пользователь входит + my @grp; + foreach(@GROUP){ + chomp; my @group = split /:/; + #определим принадлежность пользователя группе + if($group[$gUSERS] && ",$group[$gUSERS],"=~m/,$user[$USER],/){ + push (@grp, $group[$gGROUP]); + } + } + my $groups; if(@grp){$groups = join ",", @grp; $groups = "--groups $groups";} + + $data{run_user} = "\n/usr/sbin/useradd --uid $user[$IDUSER] --gid $user[$IDGROUP] --home-dir $user[$HOMEDIR] --shell $user[$SHELL] $groups $user[$USER]".$data{run_user}; + + #добавим создание групп на случай, если их не существует + my $ugroups; + my @gname = split / /, `$data{path} id -Gn $user[$USER]`; + my @gid = split / /, `$data{path} id -G $user[$USER]`; + foreach($i = 0; $i < @gid; $i ++){ + if($gid[$i] >= 500){ #пропустим системные группы + chomp $gid[$i]; chomp $gname[$i]; + $ugroups .= "\n/usr/sbin/groupadd -f -g $gid[$i] $gname[$i]"; + } } + $data{run_user} = $ugroups.$data{run_user}; + + $newuser++; + } } } + + $data{NOMES} = ""; #включим вывод сообщений + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Установим патчи на текущую систему +# +#------------------------------------------------------------------------------ +sub patch{ + printmes(gettext('Apply patches')."\n"); + + foreach(sort keys %{$data{patches}}){ + printmes(" ".gettext('Run')); printmes(" $_...\n"); + if(system "$data{patchdir}/$_"){ + beep(); + printmes(gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done').".\n"); + } } + + printmes(gettext('Finishing installation')."\n"); + printmes(" ".gettext('Update')); printmes(" calculate.ini..."); + putini(ospatch => $data{patchlast}); + printmes(" ".gettext('done').".\n"); + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Выполним проверки перед установкой +# +#------------------------------------------------------------------------------ +sub checkready{ + if(!$data{builder}){ + printmes(gettext('Perform pre-install checkups')."\n"); + } + + #---------------------------------------------------------------------- + # Проверим, используется ли раздел для установки + #---------------------------------------------------------------------- + if(`$data{path} mount | grep $data{rootinstall}`){ + printmes("\n".gettext('Error')."! "); + printmes(gettext('Disk')); + printmes(" $data{rootinstall} "); + printmes(gettext('mounted').".\n"); + printmes(gettext('Please unmount disk or specify another volume')."!\n"); + return ""; + } + + #---------------------------------------------------------------------- + # Определим наличие обновлений + #---------------------------------------------------------------------- + if(!$data{builder}){ + printmes(" ".gettext('Update found')); + printmes(": $data{'calculatename'} $data{linuxver}"); + if($data{'calculatesubname'}){printmes(" $data{'calculatesubname'}");} + printmes("\n"); + } + + #---------------------------------------------------------------------- + # Проверим поддержку Calculate + #---------------------------------------------------------------------- + if(!$data{builder}){ + if( + (($data{calculate} eq "CLD" && + number_ver($data{linuxver}) > number_ver('9.6.9')) || + ($data{calculate} eq "CLDX" && + number_ver($data{linuxver}) > number_ver('9.6.9')) || + ($data{calculate} eq "CDS" && + number_ver($data{linuxver}) > number_ver('9.5.9')) + ) && !defined $data{arg}{'force'} + ){ + printmes("\n".gettext('For installation, you must update the program. Run "calculate --update"')); printmes(".\n"); + beep(); return ""; + } } + + + #---------------------------------------------------------------------- + # Проверим путь к архиву образа + #---------------------------------------------------------------------- + if(!$data{builder} && $data{load} ne "ram" && !-e "$data{linuxdir}/$data{linux}"){ + printmes("\n"); + printmes(gettext('To continue сopy file')); + printmes(" \"$data{linux}\" "); + printmes("\n".gettext('to directory')); printmes(" \"$data{linuxdir}\".\n"); + beep(); + return ""; + } + + #---------------------------------------------------------------------- + # Проверим на загруженное обновление + # Примонтируем новый раздел для проверки + #---------------------------------------------------------------------- + if(!defined $data{arg}{'force'} && !$data{builder}){ + if(!system "$data{path} mount $data{rootinstall} $data{mount} &>/dev/null"){ + if( getini('calculate', 'chroot') eq $data{calculate} && + getini('linuxver', 'chroot') eq $data{linuxver}) + { + #Отмонтируем новый раздел + system("$data{path} umount $data{mount}"); + + printmes("\n".gettext('Update')); + printmes(" $data{calculatename} $data{linuxver} "); + printmes(gettext('is already installed')); printmes(". "); + printmes(gettext('Please reboot')); printmes(".\n"); + beep(); return ""; + } + #Отмонтируем новый раздел + system("$data{path} umount $data{mount}"); + } + } + + #---------------------------------------------------------------------- + # Последняя проверка - + # сверим контрольную сумму файла обновления + #---------------------------------------------------------------------- + if(!$data{builder} && $data{linux}){ + + my $md5file = "$data{tmpdir}/md5sum.txt"; +# if(!-e $md5file){ +# beep(); +# printmes(" ".gettext('error').".\n"); +# printmes("\n".gettext('File not found')); +# printmes(": \"$md5file\".\n"); +# return ""; +# } + + if(-e $md5file){ + #считаем файл контрольных сумм пакетов + open (F, $md5file); + my $tmp = $/; undef $/; my $md5sum=; $/ = $tmp; + close (F); + + my $checksum; + foreach(split "\n", $md5sum){ + my ($md5, $file) = split " "; + if($file eq $data{linux}){ + $checksum = $md5; + break; + } } + if($checksum){ + printmes(" ".gettext('Check the checksum')); printmes(": $data{linux}..."); + + if(system("$data{path} md5sum $data{linuxdir}/$data{linux} | grep $checksum &>/dev/null")){ + beep(); + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done').".\n"); + } } } } + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Распакуем систему или stage, portage архивы +# +#------------------------------------------------------------------------------ +sub extract{ + if($data{erase} eq 'on'){ + printmes("\n".gettext('Volume formatting will start through')); + }else{ + printmes("\n".gettext('System will install over')); + } + printmes(" 10 "); printmes(gettext('seconds')); printmes(".\n"); + + printmes(gettext('Press')); printmes(" Ctrl+C "); printmes(gettext('to cancel')); printmes("... "); + if(system(q|echo -e -n "\a10"; sleep 1; for ((i=9; $i>0; i--)); do echo -e -n "\a\b\b $i"; sleep 1; done; echo -e "\b\b ";|)){ + printmes("\n"); return ""; + } + + if($data{erase} eq 'on'){ + if(!$data{builder}){ + printmes(gettext('Unpacking system')."\n"); + }else{ + printmes(gettext('Prepare installation volume')); printmes("\n"); + } + + if($data{partitions_dev}){ + printmes(" ".gettext('Perform hard disk partition')); printmes("... "); + #выполним разбиение диска + if(system("$data{path} cat /usr/calculate/install/config/fdisk.$data{calculate} | fdisk $data{partitions_dev} &>/dev/null")){ + printmes(gettext('Error')); printmes("! "); + return ""; + } + printmes(gettext('done').".\n"); + + printmes(" ".gettext('Set up a Linux swap area')); printmes("... "); + if(system("$data{path} mkswap $data{partitions_dev}1 &>/dev/null")){ + printmes(gettext('Error')); printmes("! "); + return ""; + } + printmes(gettext('done').".\n"); + + printmes(" ".gettext('Formatting a partition for the data')); printmes("... "); + if(system("$data{formatrun} Data $data{partitions_dev}5 &>/dev/null")){ + printmes(gettext('Error')); printmes("! "); + return ""; + } + printmes(gettext('done').".\n"); + + printmes(" ".gettext('Create a mount point "home" and "share"')); printmes("... "); + my $mount_tmp = "/mnt/newdata-".sprintf("%.0f", rand() * 10000); + if(system("mkdir $mount_tmp && mount $data{partitions_dev}5 $mount_tmp && mkdir -p $mount_tmp/share/linux $mount_tmp/home && umount $mount_tmp && rmdir $mount_tmp")){ + printmes("\n"); printmes(gettext('Error')); printmes("! "); + return ""; + } + printmes(gettext('done').".\n"); + + # После форматирования считаем uuid диска с данными, определим его метку + # $data{uuid_data}, $data{data_install_set} + $data{uuid_data} = `$data{path} vol_id --uuid $data{partitions_dev}5 2>/dev/null`; + chomp $data{uuid_data}; + if($data{'removableinstall'} eq 'on'){ + $data{data_install_set} = "UUID=$data{uuid_data}"; + }else{ + $data{data_install_set} = "$data{partitions_dev}5"; + } + } + + printmes(" ".gettext('Formatting new volume')); printmes("... "); + { + #отформатируем диск + if(system("$data{formatrun} $data{calculate}-$data{linuxver} $data{rootinstall} &>/dev/null")){ + printmes("\n"); printmes(gettext('Error')); printmes("! "); + printmes(gettext('Volume formatting failed')); printmes(".\n"); + return ""; + } } + printmes(gettext('done').".\n"); + } + + # После форматирования считаем uuid установочного диска, определим его метку + # $data{uuid_install}, $data{root_install_set} + $data{uuid_install} = `$data{path} vol_id --uuid $data{rootinstall} 2>/dev/null`; + chomp $data{uuid_install}; + if($data{'removableinstall'} eq 'on'){ + $data{root_install_set} = "UUID=$data{uuid_install}"; + }else{ + $data{root_install_set} = $data{rootinstall}; + } + + printmes(" ".gettext('Mounting new volume')); printmes("... "); + if(system "$data{path} mount $data{rootinstall} $data{mount}"){ + printmes("\n"); printmes(gettext('Error')); printmes("! "); + printmes(gettext('Mounting installation valume failed')); printmes(".\n"); return ""; + } + printmes(gettext('done').".\n"); + + #примонтируем iso если мы устанавливаем систему из iso образа диска + if($data{linux} =~m/iso$/){ + printmes(" ".gettext('Mounting ISO file')); printmes("... "); + if(system "$data{path} mkdir -p /mnt/cdrom && mount -o loop $data{linuxdir}/$data{linux} /mnt/cdrom"){ + printmes("\n\n".gettext('Error')."! "); + beep(); + system "$data{path} umount $data{mount}"; + return ""; + } + printmes(gettext('done').".\n"); + } + + my $unpack; + if(!$data{builder}){ + if($data{load} ne "ram" && $data{linux} !~m/iso$/){printmes(" ");} + printmes(gettext('Unpacking system image into new volume')); + if($data{load} eq "ram" || $data{linux} =~m/iso$/){print("\n");}else{printmes("... ");} + if($data{linux} =~m/7z$/){$unpack = "7za x -so $data{linuxdir}/$data{linux} 2>/dev/null | tar xf - -C $data{mount}";} + elsif($data{linux} =~m/lzma$/){$unpack = "lzma -dc $data{linuxdir}/$data{linux} | tar -xf - -C $data{mount}";} + else{$unpack = "$data{path} tar -xjpf $data{linuxdir}/$data{linux} -C $data{mount}";} + }else{ + printmes(" ".gettext('Unpack')); printmes(" $data{stage}... "); + $unpack = "$data{path} tar -xjpf $data{stagepath}/$data{stage} -C $data{mount}"; + } + + if( + (($data{load} ne "ram" && $data{linux} !~m/iso$/) && system($unpack)) || + (($data{load} eq "ram" || $data{linux} =~m/iso$/) && system("$data{path} unsquashfs -d $data{mount} -f /mnt/cdrom/livecd.squashfs")) + ){ + printmes("\n\n".gettext('Error')."! "); + printmes(gettext('Unpacking image failed')); printmes(". "); + printmes(gettext('Operation interrupted')); printmes(".\n"); + beep(); + + printmes(gettext('Abort')); printmes("...\n"); + printmes(gettext('Unmounting new volume')); printmes("..."); + system "$data{path} rm -f $data{mount}/etc/calculate/calculate.ini"; #удалим информацию об неустановленной системе + foreach( (0.2,0.5,1,2,4) ) { + if(system "($data{path} fuser -m $data{mount} 2>&1) >/dev/null") { + system "$data{path} umount $data{mount}"; + last; + } + sleep($_); + } + + if($data{linux} =~m/iso$/){system "$data{path} umount /mnt/cdrom";} + + printmes(" ".gettext('done').".\n"); + return ""; + } + if($data{load} ne "ram" && $data{linux} !~m/iso$/){ + printmes(gettext('done').".\n"); + } + + #отмонтируем /mnt/cdrom если мы устанавливали систему из файла ISO образа + if($data{linux} =~m/iso$/){system "$data{path} umount /mnt/cdrom";} + + if($data{builder}){ + printmes(" ".gettext('Unpack')); printmes(" $data{portage}..."); + if(system("$data{path} tar -xjf $data{portagepath}/$data{portage} -C $data{mount}/usr")){ + printmes("\n\n".gettext('Error')."! "); + printmes(gettext('Unpacking image failed')); printmes(". "); + printmes(gettext('Operation interrupted')); printmes(".\n"); + beep(); + + printmes(gettext('Abort')); printmes("...\n"); + printmes(gettext('Unmounting new volume')); printmes("..."); + system "$data{path} rm -f $data{mount}/etc/calculate/calculate.ini"; #удалим информацию об неустановленной системе + system "$data{path} umount $data{mount}"; + + printmes(" ".gettext('done').".\n"); + return ""; + } + printmes(" ".gettext('done').".\n"); + } + + return 1; +}; + +#------------------------------------------------------------------------------ +# +# Наложим обновления +# +#------------------------------------------------------------------------------ +sub profiles{ + printmes(gettext('Update config')."\n"); + foreach(@{$data{profile_install}}, @{$data{profile_share}}){ + profile($_); + }; + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Выполним общие настройки системы +# +#------------------------------------------------------------------------------ +sub setup{ + printmes(gettext('System setup')."\n"); + + #восстановим inittab + if(-e "$data{chroot}/etc/inittab.old"){ + printmes(" ".gettext('Update')); printmes(" /etc/inittab..."); + system "$data{path} mv $data{chroot}/etc/inittab.old $data{chroot}/etc/inittab"; + printmes(" ".gettext('done').".\n"); + } + + #Создадим initrd-файл +# if(!$data{dif_march}){ + printmes(" ".gettext('Create new initrd file')); printmes("..."); + if(!initrd_clean($data{chroot})){ + beep(); + printmes(" ".gettext('error')."!\n"); + } +# } + + #Скопируем calculate в новую систему + printmes(" ".gettext('Copy')); printmes(" /usr/calculate/install..."); + if(system " + $data{path} rm -rf $data{chroot}/usr/calculate/install && + $data{path} cp -a $data{dir}/install $data{chroot}/usr/calculate/ &>/dev/null + " + ){ + beep(); + printmes(" ".gettext('error')."!\n"); + }else{ + printmes(" ".gettext('done').".\n"); + #создадим символическую ссылку на программу + `$data{path} ln -s /usr/calculate/install/calculate $data{chroot}/tmp && mv $data{chroot}/tmp/calculate $data{chroot}/usr/sbin/`; + } + + #Скопируем Calculate Overlay + if(-e "/usr/local/overlays/calculate"){ + printmes(" ".gettext('Copy')); printmes(" Calculate Overlay..."); + system " + $data{path} rm -rf $data{chroot}/usr/local/overlays && + $data{path} mkdir -p $data{chroot}/usr/local/overlays && + $data{path} cp -a /usr/local/overlays/calculate $data{chroot}/usr/local/overlays + "; + printmes(" ".gettext('done').".\n"); + } + + #Скопируем Portage + if(-e "/usr/portage/profiles" && !-e "$data{chroot}/usr/portage/profiles"){ + printmes(" ".gettext('Copy')); printmes(" Portage..."); + system " + $data{path} rm -rf $data{chroot}/usr/portage && + $data{path} cp -a /usr/portage $data{chroot}/usr/ + "; + printmes(" ".gettext('done').".\n"); + } + + #---------------------------------------------------------------------- + # Запросим пароль root-а + #---------------------------------------------------------------------- + if(`$data{path} cat /etc/shadow | grep '$data{hash_root}'`){ + `passwd`; + } + + #---------------------------------------------------------------------- + # Перенесем пароль рута + #---------------------------------------------------------------------- + system "$data{path} cat /etc/shadow | sed q > $data{'chroot'}/etc/shadow_new && + $data{path} cat $data{'chroot'}/etc/shadow | sed 1d >> $data{'chroot'}/etc/shadow_new"; + system "$data{path} cat /etc/shadow- | sed q > $data{'chroot'}/etc/shadow-_new && + $data{path} cat $data{'chroot'}/etc/shadow- | sed 1d >> $data{'chroot'}/etc/shadow-_new"; + + system "$data{path} mv $data{'chroot'}/etc/shadow_new $data{'chroot'}/etc/shadow"; + system "$data{path} mv $data{'chroot'}/etc/shadow-_new $data{'chroot'}/etc/shadow-"; + + system "$data{path} chmod 700 $data{'chroot'}/etc/shadow"; + system "$data{path} chmod 700 $data{'chroot'}/etc/shadow-"; + + #---------------------------------------------------------------------- + # Пропишем клиент в автозагрузку, если компьютер в домене + #---------------------------------------------------------------------- + if($data{server} eq "CDS" && -e "/etc/runlevels/default/client"){ + system "$data{path} cp -a /etc/runlevels/default/client $data{'chroot'}/etc/runlevels/default/client"; + } + + #---------------------------------------------------------------------- + # Скопируем оригинальные ключи ssh + #---------------------------------------------------------------------- + if($data{load} ne "ram"){ + printmes(" ".gettext('Copy original ssh keys')); printmes("..."); + system "$data{path} cp -a /etc/ssh/ssh_host_* $data{'chroot'}/etc/ssh/"; + printmes(" ".gettext('done').".\n"); + } + + #---------------------------------------------------------------------- + # Скопируем udev-правила, если в системе более одной сетевой карты + #---------------------------------------------------------------------- + { + my $rule = "/etc/udev/rules.d/70-persistent-net.rules"; + if($data{net_eth1} && -e $rule){ + printmes(" ".gettext('Copy udev net rules')); printmes("..."); + system "$data{path} cp -a $rule $data{'chroot'}$rule"; + printmes(" ".gettext('done').".\n"); + } } + + #---------------------------------------------------------------------- + # Настроим make.conf + #---------------------------------------------------------------------- + printmes(" ".gettext('Update')); printmes(" /etc/make.conf..."); + { + my $vars; + if(number_ver($data{linuxver}) >= number_ver(8.9)){ + $vars.=qq#PKGDIR="$data{pkgdir}"\n#; + } + $vars.= qq#MAKEOPTS="$data{makeopts}"\n#; + open (F,">>$data{'chroot'}/etc/make.conf"); flock(F, 2); print F $vars; close (F); + } + printmes(" ".gettext('done').".\n"); + + #---------------------------------------------------------------------- + # Пропишем название в загрузочный скрипт + #---------------------------------------------------------------------- + if(number_ver($data{linuxver}) < number_ver(9.5)){ + printmes(" ".gettext('Update')); printmes(" /sbin/rc..."); + my $rcscript; + my $rcpath = "$data{'chroot'}/sbin/rc"; + if(-e $rcpath){ + open(R, $rcpath); + foreach(){ + $_=~s/(.*)Gentoo Linux\${GENTOO_VERS}; \${BRACKET}http:\/\/www\.gentoo\.org\/(.*)/$1$data{calculatename} $data{linuxver}; http\/\/www.calculate-linux.org$2/; + $_=~s/(.+)Copyright.+Gentoo Foundation;(.+)/$1Copyright 2008 Calculate Pack;$2/; + $rcscript .= $_; + } + close(R); + open(C, ">$rcpath"); print C $rcscript; close(C); + + printmes(" ".gettext('done').".\n"); + }else{ + printmes(" ".gettext('file not found')." $rcpath.\n"); + } } + + #---------------------------------------------------------------------- + # Сохраним диск, с которого произвелась установка + # за исключением установки с CD или с ПК на USB или с USB на ПК + #---------------------------------------------------------------------- + if( $data{load} ne "ram" && + ($data{'removableload'} eq $data{'removableinstall'}) + ){ + putini("install.devfrom" => $data{rootload}, "chroot"); + } + + return 1; +} + + +#------------------------------------------------------------------------------ +# +# Подготовим систему к перезагрузке +# +#------------------------------------------------------------------------------ +sub loader{ + printmes(gettext('Prepare system for reboot')); printmes("\n"); + + #пропишем grub в автозагрузку, изменим MBR запись + if($data{mbr} eq "on"){ + printmes(" ".gettext('Change boot record')); + printmes("..."); + if(system "$data{path} chroot $data{'chroot'} /sbin/grub --device-map=/boot/grub/device.map --batch </dev/null\n". + "root ($data{grubinstall})\n". + "setup (hd0)\n". + "quit\n". + "EOF"){ + printmes(" ".gettext('error').".\n"); + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + #printenc(" Изменим grub..."); + #system("$data{path} chroot $data{'chroot'} /sbin/grub-install /dev/$data{ide}"); + #printmes(" ".gettext('done').".\n"); + } + + #Отмонтируем устанавливаемый диск + printmes(" ".gettext('Unmount installed system volume')); printmes("..."); + if(system("$data{path} umount $data{'chroot'}")){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Перезагрузим компьютер +# +#------------------------------------------------------------------------------ +sub reboot{ + printmes(" ".gettext('Detect logged in users')); printmes("... "); printmes(gettext('done').".\n"); + if(`$data{path} w -hs` || $data{load} eq "ram"){ + printmes("\n".gettext('To apply changes you have to reboot').".\n"); + }else{ + printmes(" ".gettext('Perform reboot')); printmes("..."); + system "$data{path} shutdown -r now"; + printmes(" ".gettext('done').".\n"); + } + return 1; +} + +#------------------------------------------------------------------------------ +# +# Выведем список переменных конфигурационных файлов +# +#------------------------------------------------------------------------------ +sub printvars{ + printmes(gettext('Config files variables list').":\n"); + my ($vars,$tab); + foreach(sort keys %data){ + #пропустим внутренние переменные + if($_=~m/[A-Z]/ || $data{$_}=~m/^HASH/){next;} + my $data; + if($data{$_}=~m/^ARRAY/){$data = "@{$data{$_}}";}else{$data = $data{$_};} + + if(length(" #-$_-#") < 16){$tab = "\t";}else{$tab = "";} + my $w = "r"; if(${$data{write}}{$_}){$w = "w";} + + my $other; if(@{$data{other}}{$_}){ + my $skip = $data{$_}; + foreach(@{${$data{other}}{$_}}){ + if($_ eq $skip){next;} + if($other){$other.=", ";} + $other .= "$_"; + } + $other = " [$other]"; + } + + printmes(" #-$_-#\t${tab}[$w] \"$data\"$other\n"); + } + return 1; +} +#------------------------------------------------------------------------------ +# +# Выведем конфигурацию ПК +# +#------------------------------------------------------------------------------ +sub printhardware{ + printmes(" ".gettext('Vendor')); printmes(": "); + if($data{vendor}){ + printmes(gettext($data{vendor}."\n")); + }else{ + printmes("<"); printmes(gettext('undefined')); printmes(">\n"); + } + + if($data{laptop_model}){ + printmes(" ".gettext('Model')); printmes(": "); + printmes(gettext($data{laptop_model}."\n")); + } + if($data{board_model}){ + printmes(" ".gettext('Motherboard')); printmes(": "); + printmes("$data{board_model} ($data{board_vendor})\n"); + } + + if($data{video}){ + printmes(" ".gettext('Videocard')); + printmes(": $data{video}\n"); + } + if($data{video_resolution}){ + printmes(" ".gettext('Screen resolution')); + printmes(": $data{video_resolution}\n"); + } + + #получим информацию из hal + if(-e "/usr/bin/hal-device"){ + my (%hw, %hwlink); #параметры устройств и ссылки на идентификаторы устройств + my (%hdd, %cdrom); #хэши доступных дисков + { + my ($udi); + foreach(`/usr/bin/hal-device`){ + chomp; + if($_){ + if(m/^[0-9]+: /){ + $udi = $_; + }else{ + m/^\s*([^=]+) = ([^=]+)?(\(string\)|\(int\)|\(uint64\)|\(string list\))$/; + my $var = $1; my $val = $2; + $val =~s/^([^\s]+)\s+\(.+/$1/; #уберем значение в скобках + $val =~s/^'([^']+)'\s+.+/$1/; #уберем кавычки + $hw{$udi}{$var} = $val; #устройство-параметр - значение + + #определим устройства + if(m#block.device = '/dev/(sd[a-z])'#){ + $hwlink{$1} = $udi; #указатель на запись устройства hdd + $hdd{$1}++; + }elsif(m#block.device = '/dev/(sr[0-9])'#){ + $hwlink{$1} = $udi; #указатель на запись устройства cd-rom + $cdrom{$1}++; + }elsif(m#linux.acpi_path = '/proc/acpi/processor/(CPU0)'#){ + $hwlink{$1} = $udi; #указатель на запись устройства cd-rom + } + } } } } + + printmes(" ".gettext('Hard disks')); printmes(":\n"); + foreach(sort keys %hdd){ + my $size = sprintf("%0.0f",$hw{$hwlink{$_}}{'storage.size'}/1000000000); + printmes(" $_: $size Gb ($hw{$hwlink{$_}}{'info.product'})\n"); + } + } +} + +#------------------------------------------------------------------------------ +# +# Выведем сообщение в текущей локали +# +#------------------------------------------------------------------------------ +sub printmes{ + if($data{NOMES}){return "";} #флаг не печатать сообщения + + #определим наличие установленной программы gettext + #и очистим файл лога + if(!defined $date{gettext}){ + my $gettext = `$data{path} which gettext`; chomp $gettext; + if($gettext){ $date{gettext}++; } + else{ $date{gettext}=''; } + } + + #считаем входящее сообщение + my $mes = $_[0]; + $mes=~s/'/"/g; + + #ведем лог + $data{LOG} .= $mes; + if($date{gettext}){ + my ($from, $after); + #обрежем левые и правые отступы для перевода фразы + if($mes=~m/^(\s*)(.+)([!?:\.]\s*)$/ || $mes=~m/^(\s*)(.+)(\s*)$/){ + $from = $1; $mes = $2; $after = $3; + } + if($mes){ + my $text; + if($mes!~/^\-/){$text = "gettext -n -d calculate -s '$mes'";} + else{$text = "echo -n '$mes'";} + system "export TEXTDOMAINDIR='$data{dir}/install/i18n'; echo -n '$from'; $text; echo -n '$after'"; + } + }else{ + print $mes; + } + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Локализация. Процедура нужна для извлечения переводимых строк xgettext-ом +# +#------------------------------------------------------------------------------ +sub gettext{ + return $_[0]; +} + +#------------------------------------------------------------------------------ +# +# Ведение log-файла +# +#------------------------------------------------------------------------------ +sub savelog{ + my $id = `$data{path} id -u`; chomp $id; + if(!$data{NOLOG} && $id == 0){ + if(!-e "/var/log/calculate"){ + system "$data{path} mkdir -m 755 /var/log/calculate"; + } + open (F,">/var/log/calculate/install.log"); flock(F, 2); print F $data{LOG}; close (F); + } + return 1; +} + +#------------------------------------------------------------------------------ +# +# Сообщение об ошибке неправильно введенного аргумента +# +#------------------------------------------------------------------------------ +sub errorarg{ + my $arg = $_[0]; + + printmes(gettext('Unrecognized option')); printmes(" '$arg'.\n"); + printmes(gettext('Try')); printmes(" 'calculate --help' "); printmes(gettext('for more information')); + printmes(".\n"); + beep(); + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Наложим профили обновления +# +#------------------------------------------------------------------------------ +sub profile{ + my $profile = $_[0]; + my $title = $_[1]; #обозначение профиля + if(!$title){ $title = $profile; $title =~s/.+\/([^\/]+)\/[^\/]+\/([^\/]+)$/$1\/$2/; } + $title=~s/^(.+)\?(.+)/$1/; + printmes(" ".gettext('Apply profile')); printmes(" \"$title\"..."); + #Profile file + $data{title} = + $data{mesline}."\n". + $data{mestitle}."\n". + qq|# Do not edit this file. Changes to profile "$title"\n|. + $data{mesline}; + + #создадим пути и права доступа к файлам, аналогичные профилю + my @dir = `$data{path} find "$profile" -type d`; + foreach(@dir){ + chomp; + my $recpath; #по заданным маскам поменяем права на директории + foreach(split "/", substr($_, length($profile))){ + $recpath.= "$_/"; + if(!-e $data{'chroot'}.$recpath){ + system qq|$data{path} mkdir -p $data{'chroot'}$recpath|; + if($recpath=~m|/\.ssh/|){ + system qq|$data{path} chmod 700 "$data{'chroot'}$recpath"|; + } } } } + + #извлечем файлы профиля + my @conf = `$data{path} find "$profile" -type f`; + foreach(@conf){ + chomp; + my $allocation = $data{'chroot'}.substr($_, length($profile)); + + #проверим имя файла фрофиля перед переносом в систему + $allocation = check_name($allocation); if(!$allocation){next;} + #извлечем текстовый файл профиля + if(`$data{path} file "$_" | grep text`){ + $data{file}{name} = $_; + #считаем файл + open(C, $data{file}{name}); my (@conf) = ; close(C); + #преобразуем файл + @conf = convert(lines => [@conf]); + #выполним подмены настройками из старой системы + if($data{pass} ne "builder"){ + if( + $allocation eq $data{'chroot'}.'/etc/fstab' && + @{$data{mount_line}} && + $data{'move_fstab'} eq 'on' + ){ + @conf = move_fstab(@conf); + } + } + #сохраним обработанный файл в директории установки + my $fname = $allocation; $fname=~m/^(.*\/)([^\/]+)$/; + if(substr($2,0,1) eq "^"){ + #допишем в конец файла без значка + open(C, ">>".$1.substr($2,1)); print C @conf; close(C); + }elsif(substr($2,0,1) eq "~"){ + #if(-e $1.substr($2,1)){ #проверка на существование файла + #подменим переменные конфигурационного файла новыми значениями + open(C, $1.substr($2,1)); my (@original) = ; close(C); #считаем оригинальный файл + my @save = substitution([@original], [@conf]); + open(C, ">".$1.substr($2,1)); print C @save; close(C); + #} + }else{ + system "$data{path} rm -f \"$allocation\""; #удалим на случай если стоит ссылка на другой файл + open(C, ">$allocation"); print C @conf; close(C); + if($recpath=~m|/ssh/| || $recpath=~m|/etc/sudoers|){ + system "$data{path} chmod 600 $allocation"; + }elsif( $recpath=~m|/config/kdm/X| || + $recpath=~m|/etc/cron\.| || + $recpath=~m|/etc/init\.d/| || + $recpath=~m|/usr/local/bin/| || + $recpath=~m|/sbin/| + ){ + system "$data{path} chmod 755 $allocation"; + } + } + + }elsif(`$data{path} file "$_" | grep empty`){ + `$data{path} rm -f "$allocation"`; + }else{ + #перенесем без обработки бинарный файл + `$data{path} cp -a "$_" "$allocation"`; + } + } + + #создадим символическую ссылку на Zoneinfo + if(!$data{builder}){ + `$data{path} rm -rf $data{chroot}/tmp/localtime && + ln -s /usr/share/zoneinfo/$data{timezone} $data{chroot}/tmp/localtime && + mv $data{chroot}/tmp/localtime $data{chroot}/etc/ + `; + } + + #создадим символические ссылки аналогичные профилю + my @dir = `$data{path} find "$profile" -type l`; + foreach(@dir){ + chomp; + #уберем ссылки на несуществующие файлы + `$data{path} file "$_"`=~m/\`([^']+)'/; + my $dest = $1; + if( + !$data{builder} && + ( + #проверим прямую ссылку + ($dest=~m/^[\/]/ && !-e "$data{'chroot'}$dest") + || + #ссылка со смещением относительно текущей директории + (m/^[^\/]/ && "$data{'chroot'}$profile/$dest") + ) + ){ + next; + } + #выделим путь из профиля + my $allocation = $data{'chroot'}.substr($_, length($profile)); + #проверим имя файла фрофиля перед переносом в систему + $allocation = check_name($allocation); if(!$allocation){next;} + #скопируем ссылку + if(-e $allocation){`$data{path} rm $allocation`} + `$data{path} cp -a "$_" "$allocation"`; + } + if(!$data{file}{error}){ + printmes(" ".gettext('done').".\n"); + }else{ + printmes("\n"); + $data{file}{error} = ''; + } +} + +#------------------------------------------------------------------------------ +# +# Проверим на доступное обновление на сайте проекта +# +#------------------------------------------------------------------------------ +sub checkupdate{ + printmes(gettext('Checking for updates available')); printmes("\n"); + + printmes(" ".gettext('Get available packages list')); printmes("..."); + + #Создадим временную директорию, если ее нет + if(!-e "$data{tmpdir}"){ system "$data{path} mkdir -p $data{tmpdir}"; } + + if(system("$data{exec_wget} --cache=off --quiet ftp://ftp.calculate-linux.ru/pub/calculate/calculate/ -O $data{tmpdir}/index")){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #считаем файл имен пакетов Calculate + open (F,"$data{tmpdir}/index"); + my $tmp = $/; undef $/; my $index=; $/ = $tmp; + close (F); + `rm -rf "$data{tmpdir}/index"`; + + printmes(" ".gettext('Perform updates search')); printmes("..."); + + #определим имя файла пакета Calculate + my $calcname = "calculate-".$data{"calcver"}.".tar.bz2"; + #первый пробел меняем на тире, остальные убираем (для поддержки написания бета версий) + $calcname =~s/ /-/; $calcname =~s/ //g; + + my ($calculate_last); + foreach(split "\n", $index){ + if(m/\/pub\/calculate\/calculate\/(calculate\-[0-9\.\-beta]+\.tar\.bz2)/){ + if($calculate_last lt $1){ + $calculate_last = $1 + } + } + } + printmes(" ".gettext('done').".\n"); + + my $flagnew = 0; + #если найденное обновление не выше существующей версии (<=) + if($calculate_last le $calcname && !defined $data{arg}{'force'}){ +# printmes("\n".gettext('No updates available')); printmes(".\n"); +# return 1; + }else{ + printmes("\n".gettext('Update found')); printmes(": $calculate_last\n"); + + printmes("\n".gettext('Perform installation')); printmes("\n"); + printmes(" ".gettext('Downloading update package')); printmes("..."); + + `$data{path} rm -rf "$data{tmpdir}/$calculate_last*"`; #удалим, для избежания возможных ошибок + if(system("$data{exec_wget} -c --quiet ftp://ftp.calculate-linux.ru/pub/calculate/calculate/$calculate_last -O $data{tmpdir}/$calculate_last && $data{exec_wget} -c --quiet ftp://ftp.calculate-linux.ru/pub/calculate/calculate/${calculate_last}.DIGESTS -O $data{tmpdir}/${calculate_last}.DIGESTS")){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done').".\n"); + } + + printmes(" ".gettext('Check the checksum')); printmes("..."); + if(!check_digests("$data{tmpdir}/$calculate_last")){ + printmes(" ".gettext('error').".\n"); + #удалим, т.к. контрольные суммы не совпадают + printmes(" ".gettext('Delete temporary files')); printmes("..."); + if(`rm -rf "$data{tmpdir}/$calculate_last*"`){ + printmes(" ".gettext('error').".\n"); + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + return ""; + }else{ + printmes(" ".gettext('done').".\n"); + } + + printmes(" ".gettext('Unpack the update')); printmes("..."); + system("$data{path} mkdir install-old && cp -a install/* install-old && rm -rf install/*"); + if(system("$data{path} tar -xjf $data{tmpdir}/$calculate_last -C ..")){ + printmes(" ".gettext('error').".\n"); + system("$data{path} rm -rf install/* && cp -a install-old/* install && rm -rf install-old"); + return ""; + }else{ + system("$data{path} rm -rf install-old"); + printmes(" ".gettext('done').".\n"); + } + $flagnew ++; + } + + printmes(" ".gettext('Get')); printmes(" Calculate Overlay"); printmes("..."); + if( + system("$data{exec_wget} --quiet -r --level=6 --no-parent --reject index.html --directory-prefix=/tmp http://svn.calculate.ru/overlay/") || + system("rm -rf /usr/local/overlays/calculate") || + system("mv /tmp/svn.calculate.ru/overlay /usr/local/overlays/calculate") || + system("rmdir /tmp/svn.calculate.ru") + ){ + printmes(" ".gettext('error').".\n"); + }else{ + printmes(" ".gettext('done').".\n"); + } + + if(-e "/usr/bin/update-eix"){ + printmes(" ".gettext('Run')); printmes(" update-eix..."); + if(system("/usr/bin/update-eix &>/dev/null")){ + printmes(" ".gettext('error').".\n"); + }else{ + printmes(" ".gettext('done').".\n"); + } } + + if($flagnew){ + printmes("\n".gettext('Latest update successfully installed')); printmes("!\n"); + }else{ + printmes(gettext('All done')); printmes("!\n"); + } + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Подготовим систему к сборке +# +#------------------------------------------------------------------------------ +sub configure{ + #printmes(gettext('Perform checkouts')); printmes("\n"); + #printmes(" ".gettext('New release number')); printmes("..."); + + #Подмонтируем /proc + printmes(" ".gettext('Mount')); printmes(" /proc..."); + if(system "$data{path} mount -t proc none $data{chroot}/proc &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + } + printmes(" ".gettext('done').".\n"); + + #Подмонтируем /dev + printmes(" ".gettext('Mount')); printmes(" /dev..."); + if(system "$data{path} mount -o bind /dev $data{chroot}/dev &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + } + printmes(" ".gettext('done').".\n"); + + #Наложим профили на распакованный образ + profiles(); + + #Перенесем в calculate.ini некоторые переменные + putini("linuxver" => $data{"linuxver"}, "chroot"); + putini("calculate" => $data{"calculate"}, "chroot"); + putini("system" => $data{"system"}, "chroot"); + + #Подмонтируем /usr/calculate/install + printmes(" ".gettext('Mount')); printmes(" /usr/calculate/install..."); + if(system "$data{path} mount -o bind /usr/calculate/install $data{chroot}/usr/calculate/install &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + } + printmes(" ".gettext('done').".\n"); + + #Подмонтируем /usr/calculate/share + printmes(" ".gettext('Mount')); printmes(" /usr/calculate/share..."); + if(system "$data{path} mount -o bind /usr/calculate/share $data{chroot}/usr/calculate/share &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + } + printmes(" ".gettext('done').".\n"); + + #Скопируем /etc/resolv.conf + printmes(" ".gettext('Copy')); printmes(" /etc/resolv.conf..."); + if(system "$data{path} cp /etc/resolv.conf $data{chroot}/etc/ &>/dev/null"){ + beep(); + printmes(" ".gettext('error')."!\n"); + }else{ + printmes(" ".gettext('done').".\n"); + } + + #Пропатчим /etc/login.defs + printmes(" ".gettext('Put a patch')); printmes(" /etc/login.defs..."); + system "$data{path} cp $data{chroot}/etc/login.defs $data{chroot}/etc/login.defs.old"; + if(system "$data{path} sed -i -r 's/^GID_MIN.*/GID_MIN\t\t\t 100/' $data{chroot}/etc/login.defs && + $data{path} sed -i -r 's/^UID_MIN.*/UID_MIN\t\t\t 100/' $data{chroot}/etc/login.defs" + ){ + beep(); + printmes(" ".gettext('error')."!\n"); + }else{ + printmes(" ".gettext('done').".\n"); + } + + #Выполним в chroot-окружении + printmes(gettext('Execute in chroot environment')); printmes("\n"); + #chroot emerge --metadata + printmes(" ".gettext('Execute')); printmes(" emerge --metadata..."); + if(system "$data{emergerun1} --metadata $data{emergerun2} &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #chroot emerge --sync + printmes(" ".gettext('Perform portages update')); printmes("..."); + if(system "$data{emergerun1} --sync $data{emergerun2} &>/dev/null"){ + beep(); + printmes(" ".gettext('error')."!\n"); + }else{ + printmes(" ".gettext('done').".\n"); + } + + #chroot update overlay + printmes(" ".gettext('Perform calculate overlay update')); printmes("..."); + if( + system("$data{exec_wget} --quiet -r --level=6 --no-parent --reject index.html --directory-prefix=/tmp http://svn.calculate.ru/overlay/") || + system("rm -rf $data{chroot}/usr/local/overlays/calculate") || + system("mkdir $data{chroot}/usr/local/overlays") || + system("mv /tmp/svn.calculate.ru/overlay $data{chroot}/usr/local/overlays/calculate") || + system("rmdir /tmp/svn.calculate.ru") + ){ + printmes(" ".gettext('error').".\n"); + }else{ + printmes(" ".gettext('done').".\n"); + } + + #chroot emerge sys-apps/portage + printmes(" ".gettext('Execute')); printmes(" emerge sys-apps/portage..."); + if(system "$data{emergerun1} sys-apps/portage $data{emergerun2} &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); umountbuild(); + return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #chroot emerge sys-kernel/calculate-sources + printmes(" ".gettext('Install the kernel')); printmes("..."); + if(system "$data{emergerun1} sys-kernel/calculate-sources $data{emergerun2} &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #скопируем настройки ядра + #имя файла настроек ядра + $data{kernel_config_name} = "config?system=$data{system}&march=$data{march}"; + + #определим путь к настройкам ядра + $data{kernel_config_loadpath} = "/usr/calculate/share/builder/kernel"; + if(!-e "$data{kernel_config_loadpath}/$data{kernel_config_name}"){ + $data{kernel_config_loadpath} = "$data{dir}/install/builder/kernel"; + } + + #путь установок ядра для сохранения + $data{kernel_config_savepath} = "/usr/calculate/share/builder/kernel"; + + #путь установок ядра в собираемой системе + $data{kernel_config_build} = "$data{chroot}/usr/src/linux/.config"; + + #скопируем настройки ядра + if(-e "$data{kernel_config_loadpath}/$data{kernel_config_name}"){ + system "$data{path} cp '$data{kernel_config_loadpath}/$data{kernel_config_name}' '$data{kernel_config_build}'"; + } + + #выполним make oldconfig + printmes(" ".gettext('Execute')); printmes(" make oldconfig...\n"); + if(system qq|$data{path} chroot $data{chroot} /usr/calculate/install/calculate --chroot="cd /usr/src/linux && make oldconfig"|){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #выполним make menuconfig + if($data{menuconfig} eq 'on'){ + #chroot make menuconfig + printmes(" ".gettext('Execute')); printmes(" make menuconfig...\n"); + beep(); + if(system qq|$data{path} chroot $data{chroot} /usr/calculate/install/calculate --chroot="cd /usr/src/linux && make menuconfig"|){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } } + + #сохраним измененные настройки ядра + if(-e "$data{kernel_config_build}"){ + printmes(" ".gettext('Save kernel config')); printmes("..."); + if(system "$data{path} mkdir -p $data{kernel_config_savepath} && cp -f '$data{kernel_config_build}' '$data{kernel_config_savepath}/$data{kernel_config_name}'"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } } + + #chroot emerge sys-apps/v86d + printmes(" ".gettext('Execute')); printmes(" emerge sys-apps/v86d..."); + if(system "$data{emergerun1} sys-apps/v86d $data{emergerun2} &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #chroot emerge sys-apps/openrc + printmes(" ".gettext('Execute')); printmes(" emerge sys-apps/openrc..."); + system "$data{emergerun1} -C sys-apps/baselayout $data{emergerun2} &>/dev/null"; + system "$data{path} rm $data{chroot}/etc/init.d/depscan.sh $data{chroot}/etc/init.d/functions.sh $data{chroot}/etc/init.d/net.eth0 $data{chroot}/etc/init.d/runscript.sh"; + if(system "$data{emergerun1} sys-apps/openrc sys-apps/sysvinit sys-fs/udev $data{emergerun2} &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + #umountbuild(); + return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #chroot make -jX && make modules_install + printmes(" ".gettext('Execute')); printmes(" make $data{makeopts} && make modules_install...\n"); + if(system qq|$data{path} chroot $data{chroot} /usr/calculate/install/calculate --chroot="cd /usr/src/linux && make $data{makeopts} && make modules_install"|){ + #выходим но не прерываем сборку + printmes("\n".gettext('error')."! "); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #chroot groupadd games + printmes(" ".gettext('Execute')); printmes(" groupadd -g 35 games..."); + if(system "$data{path} chroot $data{chroot} /usr/sbin/groupadd -g 35 games &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #chroot groupadd plugdev + printmes(" ".gettext('Execute')); printmes(" groupadd -g 440 plugdev..."); + if(system "$data{path} chroot $data{chroot} /usr/sbin/groupadd -g 440 plugdev &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #chroot groupadd scanner + printmes(" ".gettext('Execute')); printmes(" groupadd -g 441 scanner..."); + if(system "$data{path} chroot $data{chroot} /usr/sbin/groupadd -g 441 scanner &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #chroot groupadd vboxusers + printmes(" ".gettext('Execute')); printmes(" groupadd -g 442 vboxusers..."); + if(system "$data{path} chroot $data{chroot} /usr/sbin/groupadd -g 442 vboxusers &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } + + if($data{calculate} eq "CLD"){ + printmes(" ".gettext('Execute')); printmes(" useradd vboxadd..."); + if(system "$data{path} chroot $data{chroot} /usr/sbin/useradd -d /var/run/vboxadd -g 1 -c \"added by Calculate for virtualbox\" -s /bin/sh vboxadd &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + } } + + #chroot useradd p2p + if($data{calculate} eq "CDS"){ + printmes(" ".gettext('Execute')); printmes(" useradd -g 100 p2p..."); + if(system "$data{path} chroot $data{chroot} /usr/sbin/useradd -u 101 -g 100 -G wheel -c \"added by Calculate for p2p\" -s /sbin/bash p2p &>/dev/null"){ + printmes(" ".gettext('error')."!\n"); + umountbuild(); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + system "$data{path} chroot $data{chroot} /bin/mkdir -m 700 /home/p2p"; + system "$data{path} chroot $data{chroot} /bin/chown p2p:root /home/p2p"; + } } + + beep(); + printmes(gettext('All done')); printmes("! "); + printmes(gettext('Ready for packages installation')); printmes(".\n"); + + return 1; +} + + +#------------------------------------------------------------------------------ +# +# Отмонтируем диски в случае прерывания сборки +# +#------------------------------------------------------------------------------ +sub umountbuild{ + printmes(gettext('Operation interrupted')); printmes(".\n"); + printmes(gettext('Abort')); printmes("...\n"); + beep(); + + #отмонтируем все директории и точку монтирования + umount_build_all(); +} + +#------------------------------------------------------------------------------ +# +# Покажем список пакетов для установки +# +#------------------------------------------------------------------------------ +sub list{ + printmes(gettext('Package list incoming in distributive file')); printmes("...\n"); + + #отобразим на экране список пакетов + my $i = 0; + foreach(packages()){ + printmes("$_\n"); + $i++; + } + + printmes("\n"); + printmes(gettext('All')); printmes(" $i "); printmes(gettext('packages')); + printmes(".\n"); + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Вернем список пакетов для сборки +# либо пакетов дополнений +# +#------------------------------------------------------------------------------ +sub packages{ + #определим директории для нашей конфигурации файлов со списком пакетов + my @dir; + + if(!defined $data{addition} && !@{$data{packageslist}}){ + foreach(@{$data{packages}}){ + if(-e $_){ + my $path_packages = $_; + opendir(DIR, $path_packages); + foreach(readdir DIR){ + if($_ eq "." || $_ eq ".."){next;} + if(check_name($_)){push(@dir, "$path_packages/$_");} + } + closedir DIR; + if(!$chkdir){push(@dir, "$path_packages");} + } } + }elsif(@{$data{packageslist}}){ + return @{$data{packageslist}}; + }else{ + #---------------------------------------------------------------------- + # Пути к директориям пакетов дополнений + # @{$data{packages}) + #---------------------------------------------------------------------- + @{$data{packages}} = ( + "$data{dir}/install/builder/addition/$data{calculate}", + "/usr/calculate/share/builder/addition/$data{calculate}", + ); + + foreach(@{$data{packages}}){ + if(-e "$_/$data{addition}"){ + push(@dir, "$_/$data{addition}"); + } } } + + #считаем список файлов пакетов + my @files = (); + foreach(@dir){ + my $path = "$_"; + opendir(DIR, $path); + foreach(readdir DIR){ + if($_ eq "." || $_ eq ".."){next;} + push (@files, "$path/$_"); + } + closedir DIR; + } + + #извлечем имена пакетов из файлов + my %pack = (); + foreach(@files){ + $data{file}{name} = $_; + open(R, $data{file}{name}); + my @lines = ; + close(R); + foreach(convert(lines => [@lines], nocomment => yes)){ + chomp $_; + $pack{$_}++; + } + } + + #соберем список пакетов в массив + my @packages; + foreach(sort keys %pack){ + push (@packages, $_); + } +# print ">@packages<"; + + return @packages; +} + +#------------------------------------------------------------------------------ +# +# Проверка зависимостей устанавливаемых пакетов +# +#------------------------------------------------------------------------------ +sub dependence{ + my $hide = $_[0]; #скрыть вывод списка пакетов после проверки + printmes(gettext('Check of dependences')); printmes("...\n"); + my ($pack, $mask); + while (($pack, $mask) = emerge_pretend()){ + if($mask eq 'keywords'){ + printmes(" ".gettext('Add')); printmes(" \"$pack $data{unmask}\" >> package.keywords/dependence\n"); + my $keywords = "$data{'chroot'}/etc/portage/package.keywords/dependence"; + if(!-e $keywords){system "echo '$data{mesline}\n$data{mestitle}\n$data{mesline}' >> $keywords";} + system "echo $pack $data{unmask} >> $keywords"; + }elsif($mask eq 'unmask'){ + printmes(" ".gettext('Add')); printmes(" \"$pack\" >> package.unmask/dependence\n"); + my $unmask = "$data{'chroot'}/etc/portage/package.unmask/dependence"; + if(!-e $unmask){system "echo '$data{mesline}\n$data{mestitle}\n$data{mesline}' >> $unmask";} + system "echo $pack >> $unmask"; + }elsif($mask eq 'reverse'){ + next; #пропустим звуковое предупреждение + }else{ + last; + } + beep(); + } + if($pack){ + printmes("\n".gettext('All done')); printmes("!\n"); + } + + if(!$hide){ + my @packages = packages(); + system "$data{emergerun1} -pqvt @packages $data{emergerun2}"; + } + + if($pack){ + return 1; + }else{ + return ''; + } +} + +#------------------------------------------------------------------------------ +# +# Проверим на возможность установки пакетов +# +#------------------------------------------------------------------------------ +sub emerge_pretend{ + my @packages = packages(); + my $err; + + @packages = (@{$data{movie_pretend}}, @packages); #объединим со списком зависимых пакетов (дублируя расположим их сверху) + my $softly; if(!defined $data{addition}){$softly = "--softly";} + foreach(`$data{emergerun1} -p --color n @packages $data{emergerun2} $softly`){#2>&1 + if(m/^- ([^ ]+)-[0-9\._pb]+(_pre[0-9]+)?(_rc[0-9]{1,2})?(-r[0-9]{1,2})?(_beta[0-9]{1,2})? .+masked by: package.mask/){ + return $1, 'unmask'; + }elsif(m/^- ([^ ]+)-[0-9\._pb]+(_pre[0-9]+)?(_rc[0-9]{1,2})?(-r[0-9]{1,2})?(_beta[0-9]{1,2})? .+masked by: $data{unmask} keyword/){ + return $1, 'keywords'; + }elsif(m/'([^ ]+)-[0-9\._pb]+(_pre[0-9]+)?(_rc[0-9]{1,2})?(-r[0-9]{1,2})?(_beta[0-9]{1,2})?'.+ pulled in by/ + && !m/kde-base\/kdelibs-3.5/){ + my $movie; #отметим зависимый пакет, который должен располагаться сверху списка, чтобы избежать ошибки + foreach(@packages){ + if(m/$1/){ + push (@{$data{movie_pretend}}, $_); + } } + return $1, 'reverse'; + }elsif($_=~m/!{3}/){ + $err++; + } + } + if($err){ + printmes("\n".gettext('One of the packages not match your architecture')); + printmes(".\n"); printmes(gettext('Please revise dependences of the packages by your own  using flags concealment of packages')); + printmes(".\n"); + return ''; + } + return 1; +} + +#------------------------------------------------------------------------------ +# +# Соберем систему +# +#------------------------------------------------------------------------------ +sub make{ + printmes(gettext('Make system')."\n"); + + my $skipfirst; if($data{skipfirst} eq "on"){$skipfirst = " --skipfirst";} + + #закончим прерванное действие + if(getini("run.make", "chroot")){ + printmes(" ".gettext('Execute')); printmes(" emerge --resume".$skipfirst."...\n"); + if(system "$data{emergerun1}$skipfirst --resume $data{emergerun2}"){ + beep(); + printmes(" ".gettext('error')."!\n"); return ''; + }else{ + printmes(" ".gettext('done').".\n"); + getini("run.make", "chroot") + } + my $finish = getini("run.make", "chroot"); #считаем действие + putini("run.make" => "", "chroot"); #сбросим успешную операцию + #увеличим счётчик + my $step = getini("run.make.step.$finish", "chroot"); $step++; + putini("run.make.step.$finish" => $step, "chroot"); + }else{ + #для совместимости со Stage 2008_beta2 удалим sys-apps/mktemp входящий в пакет sys-apps/coreutils-6.10 +# system "$data{emergerun1} -C sys-apps/mktemp $data{emergerun2}"; + } + + #отобразим выполненные действия + if(getini("run.make.step.system", "chroot")){ + foreach(my $i = 0; $i < getini("run.make.step.system", "chroot"); $i ++){ + printmes(" ".gettext('Execute')); printmes(" emerge -e system..."); + printmes(" ".gettext('done')); printmes(".\n"); + } + } +# if(getini("run.make.step.world", "chroot")){ +# printmes(" ".gettext('Execute')); printmes(" emerge -e packages..."); +# printmes(" ".gettext('done')); printmes(".\n"); +# } + + #получим список пакетов world = "" + my @world = packages(); + + my $finish = ''; + while(!$finish){ + if(getini("run.make.step.system", "chroot") < 2){ + printmes(" ".gettext('Execute')); printmes(" emerge -e system...\n"); + putini("run.make" => "system", "chroot"); #сохраним выполняемое действие + if(system "$data{emergerun1} -e system $data{emergerun2} --nodie"){ + beep(); + printmes(" ".gettext('error')."!\n"); return ''; + }else{ + #сбросим успешно выполненную операцию + putini("run.make" => "", "chroot"); + #увеличим счетчик проходов + my $step = getini("run.make.step.system", "chroot"); $step ++; + putini("run.make.step.system" => $step, "chroot"); + + printmes(" ".gettext('done').".\n"); + } } +# elsif(getini("run.make.step.world", "chroot") < 1){ + else{ + printmes(" ".gettext('Execute')); printmes(" emerge --noreplace world...\n"); +# putini("run.make" => "world", "chroot"); #сохраним выполняемое действие + if(system "$data{emergerun1} --noreplace @world $data{emergerun2} --nodie"){ + beep(); + printmes(" ".gettext('error')."!\n"); return ''; + }else{ + #сбросим успешно выполненную операцию + putini("run.make" => "", "chroot"); + #увеличим счетчик проходов + my $step = getini("run.make.step.world", "chroot"); $step ++; + putini("run.make.step.world" => $step, "chroot"); + + printmes(" ".gettext('done').".\n"); + } +# } + $finish ++; + } + } + return 1; +} + +#------------------------------------------------------------------------------ +# +# Упакуем систему +# +#------------------------------------------------------------------------------ +sub packsystem{ + printmes(gettext('Packing the distribution package into the archive file').".\n"); + + #Вернем /etc/login.defs в прежнее состояние + if(-e "$data{chroot}/etc/login.defs.old"){ + printmes(" ".gettext('Restore')); printmes(" /etc/login.defs..."); + system "$data{path} mv $data{chroot}/etc/login.defs.old $data{chroot}/etc/login.defs"; + printmes(" ".gettext('done').".\n"); + } + + #Установим пароль рута + system "$data{path} chroot $data{'chroot'} sed -i -r 's/^root:.*/$data{hash_root}/' /etc/shadow"; + system "$data{path} chroot $data{'chroot'} sed -i -r 's/^root:.*/$data{hash_root}/' /etc/shadow-"; + + #Добавим пользователя guest + if($data{'system'} eq 'desktop' && !defined $data{arg}{'iso'}){ + #Добавим пользователя guest + system "$data{path} chroot $data{'chroot'} /usr/sbin/groupadd --gid 999 guest"; + system "$data{path} chroot $data{'chroot'} /usr/sbin/useradd --uid 999 --gid 999 --home-dir /home/guest --shell /bin/bash --groups audio,cdrom,plugdev,vboxusers,video,wheel guest"; + + + #Установим пароль пользователя guest + system "$data{path} chroot $data{'chroot'} sed -i -r 's/^guest:.*/$data{hash_guest}/' /etc/shadow"; + system "$data{path} chroot $data{'chroot'} sed -i -r 's/^guest:.*/$data{hash_guest}/' /etc/shadow-"; + } + + #Удалим записи сборки + putini("run.make" => "", "chroot"); + putini("run.make.step.system" => "", "chroot"); + putini("run.make.step.world" => "", "chroot"); + + #Заменим устаревшие конфигурационные файлы + printmes(" ".gettext('Replace outdated configuration files')); printmes("...\n"); + if(system(qq|$data{path} chroot $data{'chroot'} /usr/calculate/install/calculate --chroot="OVERWRITE_ALL='yes' etc-update"|)){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #Пропишем ядро в автозагрузку + printmes(" ".gettext('Register kernel into boot loader')); printmes("..."); + if(system(qq|$data{path} chroot $data{'chroot'} /usr/calculate/install/calculate --chroot="cd /usr/src/linux && make install &>/dev/null"|)){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #Обновим базу портежей программы eix + printmes(" ".gettext('Update portige base of eix programm')); printmes("..."); + if(-e "$data{'chroot'}/usr/bin/update-eix"){ + if(system(qq|$data{path} chroot $data{'chroot'} /usr/calculate/install/calculate --chroot="PORTDIR_OVERLAY='$data{portdir}' update-eix &>/dev/null"|)){ + printmes(" ".gettext('error').".\n"); + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } } + + #Обновим базу PCI-устройств + if(-e "$data{'chroot'}/usr/sbin/update-pciids"){ + printmes(" ".gettext('Update PCI IDs')); printmes("..."); + if(system("$data{path} chroot $data{'chroot'} update-pciids &>/dev/null")){ + printmes(" ".gettext('error').".\n"); + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } } + + #Обновим базу USB-устройств + if(-e "$data{'chroot'}/usr/sbin/update-usbids"){ + printmes(" ".gettext('Update USB IDs')); printmes("..."); + if(system("$data{path} chroot $data{'chroot'} update-usbids &>/dev/null")){ + printmes(" ".gettext('error').".\n"); + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } } + + #Обновим антивирусную базу Clamav + if(-e "$data{'chroot'}/usr/bin/freshclam"){ + printmes(" ".gettext('Update Clamav antivirus database')); printmes("..."); + if(system("$data{path} chroot $data{'chroot'} freshclam &>/dev/null")){ + printmes(" ".gettext('error').".\n"); + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } } + + #Сформируем базу module-rebuild + if(-e "$data{'chroot'}/usr/sbin/module-rebuild populate"){ + printmes(" ".gettext('Update module-rebuild database')); printmes("..."); + if(system("$data{path} chroot $data{'chroot'} module-rebuild populate &>/dev/null")){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } } + + #Выполним предварительное связывание пакетов + if(-e "$data{'chroot'}/usr/sbin/prelink" && -e "$data{'chroot'}/etc/prelink.conf"){ + printmes(" ".gettext('Execute prelinking packages')); printmes("..."); + if(system("$data{path} chroot $data{'chroot'} prelink -afmR &>/dev/null")){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } } + + #наложим профиль IMG + profiles(); + + #создадим initrd образ + if(-e "$data{chroot}/etc/splash/tty1" && -e "$data{'chroot'}/usr/share/genkernel"){ + printmes(" ".gettext('Create')); printmes(" initrd..."); + if(system "$data{path} chroot $data{'chroot'} genkernel --splash=tty1 --unionfs --all-ramdisk-modules --disklabel --slowusb ramdisk > /dev/null 2>&1"){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + system "mv `find $data{chroot}/boot/ -name initramfs-*` $data{chroot}/boot/initrd"; + printmes(" ".gettext('done')); printmes(".\n"); + } } + + if($data{calculate} eq 'CLDX'){ + #Удалим исходники ядра + printmes(" ".gettext('Delete the kernel sources')); printmes("..."); + if( + system("$data{emergerun1} -C sys-kernel/calculate-sources $data{emergerun2} &>/dev/null" && + system("$data{path} rm -rf $data{'chroot'}/usr/src/linux*") + )){ + beep(); + printmes(" ".gettext('error')."!\n"); + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + #Удалим портежи + printmes(" ".gettext('Delete Portages')); printmes("..."); + system("$data{path} rm -rf $data{'chroot'}/usr/portage/*"); + printmes(" ".gettext('done')); printmes(".\n"); + } + + #Отмонтируем директории в точке монтирования + printmes(" ".gettext('Umount directories')); printmes("..."); + if(!umount_build_dirs()){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #Удалим временные файлы + printmes(" ".gettext('Delete temporary files')); printmes("..."); + system("$data{path} rm -rf $data{'chroot'}/etc/resolv.conf $data{chroot}/etc/mtab $data{chroot}/var/log/emerge* $data{chroot}/var/log/genkernel.log $data{chroot}/var/log/lastlog $data{chroot}/var/log/prelink.log $data{chroot}/var/log/wtmp $data{chroot}/var/.locks"); + foreach( + "$data{'chroot'}/var/tmp/portage", + "$data{'chroot'}/tmp", + "$data{'chroot'}/root", + "$data{'chroot'}/var/log/clamav", + "$data{'chroot'}/var/log/calculate", + "$data{'chroot'}/var/log/portage/elog", + ){ + cleardir($_); + } + printmes(" ".gettext('done')); printmes(".\n"); + + #Создадим архив системы + printmes(" ".gettext('Create system archive file')); printmes("..."); + chdir($data{'chroot'}); + `$data{path} rm -f $data{linuxdir}/".lc($data{'calculate'})."-$data{linuxver}-$data{march}.tar.7z`; + if(system("$data{path} tar cf - . 2>/dev/null | 7za a -si $data{linuxdir}/".lc($data{'calculate'})."-$data{linuxver}-$data{march}.tar.7z >/dev/null")){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + system("$data{path} chmod 644 $data{linuxdir}/".lc($data{'calculate'})."-$data{linuxver}-$data{march}.tar.7z"); + printmes(" ".gettext('done')); printmes(".\n"); + } + chdir($ENV{PWD}); + + #Создадим list-файл со списком собранных пакетов + printmes(" ".gettext('Create')); printmes(" LIST "); printmes(gettext('file')); printmes("..."); + my $path = "$data{'chroot'}/var/db/pkg"; + my $list = "$data{linuxdir}/". + lc($data{'calculate'})."-$data{linuxver}-$data{march}.list"; + open LIST, ">$list"; + opendir(T, $path); + foreach(sort readdir T){ + if($_ eq "." || $_ eq ".."){next;} + my $type = $_; + opendir(F, "$path/$type"); + foreach(sort readdir F){ + if($_ eq "." || $_ eq ".."){next;} + print LIST "$type/$_\n"; + } + closedir F; + } + closedir T; + close LIST; + #упакуем в list.gz +# system "$data{path} gzip $list"; + printmes(" ".gettext('done')); printmes(".\n"); + + #Создадим DIGESTS-файл + printmes(" ".gettext('Create')); printmes(" DIGESTS "); printmes(gettext('file')); printmes("..."); + if(create_digests( + "$data{linuxdir}/".lc($data{'calculate'}). + "-$data{linuxver}-$data{march}.tar.7z" + )){ + printmes(" ".gettext('done')); printmes(".\n"); + }else{ + printmes(" ".gettext('error').".\n"); + } + + #Отмонтируем chroot-диск + printmes(" ".gettext('Umount chroot-disk')); printmes("..."); + if(system("$data{path} umount $data{'chroot'}")){ + printmes(" ".gettext('error').".\n"); +# return ""; + }else{ + system("rmdir $data{'chroot'}"); + printmes(" ".gettext('done')); printmes(".\n"); + } + + printmes(gettext('All done')); printmes("!\n"); + + return 1; +} + +#------------------------------------------------------------------------------ +# Создадим DIGESTS-файл +#------------------------------------------------------------------------------ +sub create_digests{ + my $file = $_[0]; + my $digests = "$file.DIGESTS"; + + `echo "# MD5 HASH" > $digests`; + my $hash = get_hash("openssl md5 $file"); + `echo $hash >> $digests`; + `echo "# SHA1 HASH" >> $digests`; + $hash = get_hash("openssl sha1 $file"); + `echo $hash >> $digests`; + + return 1; +} + +#------------------------------------------------------------------------------ +# Получим хэш из openssl +#------------------------------------------------------------------------------ +sub get_hash{ + my $exec = $_[0]; + my $hash = `$exec`; + $hash =~m/= ([0-9a-f]+)$/; + return $1; +} + +#------------------------------------------------------------------------------ +# +# Удалим все файлы из указанной директории кроме .keep +# +#------------------------------------------------------------------------------ +sub cleardir{ + my $dir = $_[0]; + opendir(DEL, $_); + foreach(readdir DEL){ + if($_ eq "." || $_ eq ".." || $_ eq ".keep"){next;} + #printmes(gettext('Delete')); printmes(" $dir/$_\n"); + system("$data{path} rm -rf $dir/$_"); + } + closedir DEL; + +} + +#------------------------------------------------------------------------------ +# +# Наложим обновления профилей на текущую систему +# +#------------------------------------------------------------------------------ +sub update_profile{ +# if($data{ospatch}){ +# $data{patch} = "-$data{ospatch}"; +# } + + #проверим на наличие профили + foreach(split /,/, $data{arg}{'profile'}){ + my $path, $profile; + if(m/^([^\/]+)\/([^\/]+)$/){ + $path = $1; $profile = $2; + }else{ + $profile = $_; + } + + if($profile=~m/[^0-9a-z\/_\-*]/i){ + printmes(gettext('Error')."! "); + printmes(gettext('Invalid profile')); printmes(" \"$_\".\n"); + return "" + } + + if(!$path && $_=~m/^all$/i){ + @{$data{setprof}} = (@{$data{profile_install}}, @{$data{profile_share}}); + next; + }elsif($profile eq "*" && ($path eq "install" || $path eq "share")){ + @{$data{setprof}} = @{$data{"profile_$path"}}; + next; + }elsif($path && -e "$data{dir}/$path/profile/$profile"){ + push (@{$data{setprof}}, "$data{dir}/$path/profile/$profile"); + }elsif(!$path && -e "$data{dir}/install/profile/$profile"){ + push (@{$data{setprof}}, "$data{dir}/install/profile/$profile"); + }elsif(!$path && -e "/usr/calculate/share/profile/$profile"){ + push (@{$data{setprof}}, "/usr/calculate/share/profile/$profile"); + }else{ + printmes(gettext('Error')."! "); + printmes(gettext('Invalid profile')); printmes(" \"$_\".\n"); + return "" + } + } + + if(!@{$data{setprof}}){ + printmes(gettext('Error')."! "); + printmes(gettext('Configuration profile is not specified')); printmes(".\n"); + return "" + } + + #наложим выбранные профили на текущую систему + $data{'chroot'} = ""; + foreach(@{$data{setprof}}){profile($_);} + +# #обновим конфигурацию +# printmes(gettext('Update modules')); printmes("\n"); +# +# printmes(" ".gettext('Run')); printmes(" env-update..."); +# if(system "/usr/sbin/env-update &>/dev/null"){ +# printmes(" ".gettext('error').".\n"); return ""; +# }else{ +# printmes(" ".gettext('done')); printmes(".\n"); +# } +# printmes(" ".gettext('Run')); printmes(" source /etc/profile..."); +# if(system "source /etc/profile &>/dev/null"){ +# printmes(" ".gettext('error').".\n"); return ""; +# }else{ +# printmes(" ".gettext('done')); printmes(".\n"); +# } +# printmes(" ".gettext('Run')); printmes(" update-modules..."); +# if(system "/sbin/update-modules &>/dev/null"){ +# printmes(" ".gettext('error').".\n"); return ""; +# }else{ +# printmes(" ".gettext('done')); printmes(".\n"); +# } +# if($ENV{TERM} eq 'linux'){ +# printmes(" ".gettext('Run')); printmes(" keymaps restart..."); +# if(system "/etc/init.d/keymaps restart &>/dev/null"){ +# printmes(" ".gettext('error').".\n"); return ""; +# }else{ +# printmes(" ".gettext('done')); printmes(".\n"); +# } +# } +# printmes(" ".gettext('Run')); printmes(" consolefont restart..."); +# if(system "/etc/init.d/consolefont restart &>/dev/null"){ +# printmes(" ".gettext('error').".\n"); return ""; +# }else{ +# printmes(" ".gettext('done')); printmes(".\n"); +# } + +# printmes(gettext('All done')); printmes("!\n"); + + + #наложим πатч + if( + $data{linuxver} eq '9.6' && + $data{load} eq 'ram' && + $data{calculate} eq 'CLD' + ){ + system "sed -i 's/kwrapper4 ksmserver \$KDEWM/ksmserver \$KDEWM/' /usr/bin/startkde"; + } + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Выполним строчные преобразования конфигурационных файлов +# Хэш параметров: +# lines - строки файла +# nocomment - удалять комментарии +# +#------------------------------------------------------------------------------ +sub convert{ + my %par = ( + nocomment => '', + lines => '', + @_, + ); + + my @ext_comment; + #в метки подставим переменные + foreach(@{$par{lines}}){ + my $i = 0; + while($i==0){ + #в метки подставим переменные + if(m/#\-([^\$\@\-][^\#]+)\-#/i){ + my $var = $1; + #обработаем динамические переменные - + #переменные, инициируемые при запросе + my ($dynamic, $set) = dynamicvar($var); + if($set){$data{$var} = $dynamic;} + if(!defined $data{$var}){ + printmes("\n".gettext('Not defined variable')); printmes(" #-$var-#, file \"$data{file}{name}\"."); + $data{file}{error} ++; + } + s/#\-$var\-#/$data{$var}/g; + }else{$i++} + } + push (@ext_comment, $_); + } + + #обработаем блоки условий + my @ext_block; + my ($block, $pass); + foreach(@ext_comment){ + if($par{nocomment} && $_!~/[A-Za-z0-9#]/){next;} #пропустим пустые строки + if($par{nocomment}){ + $_=~s/^\s+(.)/$1/; #обрежем отступы от начала строки + } + + #пропустим пакеты привязанные к архитектуре + my ($block2, $pass2) = check_block($_); + if($block2){ + $block = $block2; + $pass = $pass2; + next; + } + + #проверим на конец блока + if($block && $_=~/^\s*#$block#\s*$/){$block = ''; next;} + + #пропустим если блок не соответствует условию + if($block && $pass){next;} + + if($par{nocomment} && $_=~/^#/){next;} #пропустим строки с комментариями + if($par{nocomment}){ + $_=~s/^\s*([^#]+)#.*/$1/; #обрежем комментарии пакетов + $_=~s/^(.*)([^\s]+)\s+$/$1$2/; #обрежем пробелы перед комментариями пакетов + } + push(@ext_block, $_); + } + return @ext_block; #вернем построчно +} + +#------------------------------------------------------------------------------ +# Сформируем динамические переменные - переменные, инициируемые при запросе +#------------------------------------------------------------------------------ +sub dynamicvar{ + my $var = $_[0]; + my $val = ""; + my $set = ""; + #список пакетов подлежащих размаскировке по заданной маске + if($var=~m/^keywords:(.+)$/){ + my $keywords = $1; $keywords =~s/A-Za-z0-9\-\.\_//m; + + foreach(packages()){ + if(m/$keywords/){ + $val.="$_ $data{unmask}\n"; + } + } + #список установленных пакетов: `$data{path} find /var/db/pkg/ -type f | sed 's/-[0-9][0-9]*.*//' | uniq | sort` + $set ++; + + }elsif($var=~m/^unmask:(.+)$/){ + my $unmask = $1; $unmask =~s/A-Za-z0-9\-\.\_//m; + + foreach(packages()){ + if(m/$unmask/){ + $val.="$_\n"; + } + } + $set ++; + } + return ($val, $set); +} + +#------------------------------------------------------------------------------ +# +# Выполним сравнение имени файла с условием +# Возвратим преобразованное имя файла без условия если принимается, либо ничего +# +#------------------------------------------------------------------------------ +sub check_name{ + my $filename = $_[0]; + #проверим наличие регулярного выражения в файле + if($filename=~m/^([^\?]+)\?(.+)/){ + my $realname = $1; + my $condition = $2; + #проверим условия + #разобьем условия ИЛИ + foreach(split /\?/, $condition){ + my $true = 1; + #проверим условия И + foreach(split /&/){ + #считаем сравниваемые значения + if(m/([^=>\<]+).+/$1/; + #проверим условия + #разобьем условия ИЛИ + foreach(split /\?/, $condition){ + my $true = 1; + #проверим условия И + foreach(split /&/){ + m/([^=>" && + (($type eq "num" && $a > $b) || + ($type eq "char" && $a gt $b) || + ($type eq "ver" && number_ver($a) > number_ver($b))) + ){} + elsif($chk eq "<=" && + (($type eq "num" && $a <= $b) || + ($type eq "char" && $a le $b) || + ($type eq "ver" && number_ver($a) <= number_ver($b))) + ){} + elsif($chk eq ">=" && + (($type eq "num" && $a >= $b) || + ($type eq "char" && $a ge $b) || + ($type eq "ver" && number_ver($a) >= number_ver($b))) + ){} + else{ + return ''; + } + return 1; #условие было распознано и определено как верное +} + +#------------------------------------------------------------------------------ +# +# Извлечем номер версии программы +# Необходимо для численного сравнения версий, типа 7.8.1 +# +#------------------------------------------------------------------------------ +sub number_ver{ + my $num = $_[0]; + $num=~m/([0-9]+)\.([0-9]+)\.?([0-9]+)?/; + return $1 * 10000 + $2 * 100 + $3; +} + +#------------------------------------------------------------------------------ +# +# Определим дополнительные монтируемые диски в fstab +# +#------------------------------------------------------------------------------ +sub getdisk_fstab{ + my (@mount_dev, @mount_dir, @mount_line); + foreach(@_){ + if(m/^\s*#/){next;} + #определим устройства, сетевые диски и bind-монтирования + if( + m/^\s*(\/dev\/[^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([0-9])\s+([0-9])\s*$/ || + m/^\s*([A-Za-z0-9\.]+:[^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([0-9])\s+([0-9])\s*$/ || + m/^\s*(\/[^\s]+)\s+(\/[^\s]+)\s+([^\s]+)\s+(bind)\s+([0-9])\s+([0-9])\s*$/ + ){ + #пропустим системный раздел и устанавливаемый раздел + if($1 eq "$data{rootload}"){next;} + if($1 eq "$data{rootinstall}"){next;} + if($1=~/:/ && $data{system} eq "desktop" && number_ver($data{linuxver}) > number_ver(9.5)){next;} + #поскольку система ставится на один диск, исключим точки монтирования системных директорий + if( + $2 eq "/bin" || + $2 eq "/boot" || + $2 eq "/dev" || + $2 eq "/etc" || + $2 eq "/lib" || + $2 eq "/opt" || + $2 eq "/sbin" || + $2 eq "/usr" || + $2 eq "/var" + ){next;} + + #пропустим своп-диск + if($3=~/swap/i){next;} + #пропустим loop-устройства + if($1=~m/^\/dev\/loop[0-9]$/i){next;} + + push(@mount_dev, $1); #диски монтирования + push(@mount_dir, $2); #пути монтирования + push(@mount_line, $_); #fstab-строки + } } + return ([@mount_dev], [@mount_dir], [@mount_line]); +} + +#------------------------------------------------------------------------------ +# +# Дополним fstab настройками старого профиля +# +#------------------------------------------------------------------------------ +sub move_fstab{ + my @lines = @_; + my @newlines; #отличительные строки предыдущего fstab + + my ($mount_dev, $mount_dir, $mount_line) = getdisk_fstab(@lines); + + #заполним хэш для сравнения + my $i = 0; + my %check_disk; foreach(@{$mount_dev}){ + $check_disk{"$_+${$mount_dir}[$i]"} = ${$mount_line}[$i]; + $i++; + } + + my $i = -1; + foreach(@{$data{mount_dev}}){ + $i++; + if(!$check_disk{"$_+${$data{mountdir}}[$i]"}){ + #если в старом профиле был примонтирован диск, + #перенесем запись и создадим директорию пути + push(@newlines, ${$data{mount_line}}[$i]); + #пропустим создание директории, если она находится + #внутри монтируемого диска + my $skip = 0; my $k; + foreach($k=0; $k<$i; $k++){ + if(${$data{mountdir}}[$i]=~m/^${$data{mountdir}}[$k]/){ + $skip++; + } } + #создадим директорию точки монтирования + if(!-e "$data{'chroot'}${$data{mountdir}}[$i]" && !$skip){ + system "$data{path} mkdir -p -m 755 $data{'chroot'}${$data{mountdir}}[$i]"; + } } } + return (@lines, @newlines); +} + +#------------------------------------------------------------------------------ +# +# Прерывание сборки системы - отмонтирование дисков и удаление +# установочной директории +# +#------------------------------------------------------------------------------ +sub breakbuild{ + printmes(gettext('Break the system building')); printmes("..."); + + #отмонтируем все директории и точку монтирования + umount_build_all(); + + printmes(" ".gettext('done').".\n"); + return 1; +} + +#------------------------------------------------------------------------------ +# +# Отмонтируем все директории и точку монтирования +# +#------------------------------------------------------------------------------ +sub umount_build_all{ + #отмонтируем все директории в точке монтирования + umount_build_dirs(); + + #отмонтируем и удалим директорию точки монтирования + system "$data{path} umount -l $data{chroot}"; + system "$data{path} rmdir $data{chroot}"; + return 1; +} + +#------------------------------------------------------------------------------ +# +# Отмонтируем все директории в точке монтирования +# +#------------------------------------------------------------------------------ +sub umount_build_dirs{ + foreach(`$data{path} mount`){ + if(/on\s+($data{chroot}\/[^\s]+)/){ + #отмонтируем с флагом -l + system "$data{path} umount -l $1"; + } } + return 1; +} + +#------------------------------------------------------------------------------ +# +# Создадим загружаемый iso-образ системы +# +#------------------------------------------------------------------------------ +sub createiso{ + if(number_ver($data{os}) <= 80100){ + printmes(gettext('Error')."! "); + printmes(gettext('The system should be not below version')); printmes(" 8.2.\n"); + return ""; + } + + if(!$data{linux} || $data{linux} =~m/iso$/){ + printmes(gettext('Error')."! "); + printmes(gettext('The archive with image of system is not found')); printmes(".\n"); + return ""; + } + + #очистим директорию временных файлов + if(-e "$data{tmpdir}/livecd"){ + printmes(" ".gettext('Delete temporary files')); printmes("..."); + if(system("rm -rf $data{tmpdir}/livecd")){ + printmes(" ".gettext('error').".\n"); + breakiso(); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } } + + #распакуем систему + printmes(" ".gettext('Unpacking system')); printmes("..."); + #выберем команду распаковки в зависимости от типа архива + my $unpack; + if($data{linux} =~m/7z$/){ + $unpack = "7za x -so /usr/calculate/share/linux/$data{linux} 2>/dev/null | tar xf - -C $data{tmpdir}/livecd/calculate"; + }elsif($data{linux} =~m/lzma$/){ + $unpack = "lzma -dc /usr/calculate/share/linux/$data{linux} | tar -xf - -C $data{tmpdir}/livecd/calculate"; + }else{ + $unpack = "tar -xjf /usr/calculate/share/linux/$data{linux} -C $data{tmpdir}/livecd/calculate"; + } + if(system("mkdir -p $data{tmpdir}/livecd/calculate && $unpack")){ + printmes(" ".gettext('error').".\n"); + breakiso(); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #перенесем calculate в систему + printmes(" ".gettext('Transfer Calculate to system')); printmes("..."); + if(system(qq| + cp -a /usr/calculate/install $data{tmpdir}/livecd/calculate/usr/calculate/ + |)){ + printmes(" ".gettext('error').".\n"); + breakiso(); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #наложим профили на распакованную систему + profiles(); + + #выполним подмены + { + my $path = "$data{tmpdir}/livecd/calculate"; + #поправим автовход в initrd + system "$data{path} cp $path/etc/inittab $path/etc/inittab.old"; + system "$data{path} sed -i -e '/^c[0-9]/ s/^/#/' $path/etc/inittab"; + system "$data{path} sed -i -e '/^s[01]/ s/^/#/' $path/etc/inittab"; + for(my $i = 1; $i<=6; $i++){ + system qq|echo "c$i:12345:respawn:/sbin/agetty -nl /bin/bashlogin 38400 tty$i linux" >> $path/etc/inittab|; + } + } + + #подготовим к упаковке + printmes(" ".gettext('Prepare system for packing')); printmes("..."); + if(system(qq| + cp -a $data{tmpdir}/livecd/calculate/boot/vmlinuz-* $data{tmpdir}/livecd/target/boot/ && + cp -a $data{tmpdir}/livecd/calculate/boot/initrd $data{tmpdir}/livecd/target/boot/ && + cp -a $data{tmpdir}/livecd/calculate/boot/memtest86plus/memtest.bin $data{tmpdir}/livecd/target/isolinux/memtest && + cp -a $data{tmpdir}/livecd/calculate/usr/share/syslinux/isolinux.bin $data{tmpdir}/livecd/target/isolinux/ && + cp -a $data{tmpdir}/livecd/calculate/usr/share/syslinux/calcmenu.c32 $data{tmpdir}/livecd/target/isolinux/ && + mv $data{tmpdir}/livecd/calculate/boot/back.jpg $data{tmpdir}/livecd/target/isolinux/ && + mv `find $data{tmpdir}/livecd/target/boot/ -name vmlinuz-*` $data{tmpdir}/livecd/target/boot/vmlinuz + |)){ + printmes(" ".gettext('error').".\n"); + breakiso(); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #создадим livecd.squashfs + printmes(" ".gettext('Packing system into squashfs format')); printmes("..."); + if(system("/usr/bin/mksquashfs $data{tmpdir}/livecd/calculate/ $data{tmpdir}/livecd/target/livecd.squashfs &>/dev/null")){ + printmes(" ".gettext('error').".\n"); + breakiso(); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #удалим файлы распакованной системы + printmes(" ".gettext('Delete temporary files')); printmes("..."); + if(system("rm -rf $data{tmpdir}/livecd/calculate")){ + printmes(" ".gettext('error').".\n"); + breakiso(); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #создадим iso-образ + printmes(" ".gettext('Create iso-image')); printmes("..."); + chdir("$data{tmpdir}/livecd"); +# if(system("mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 4 -hide boot.catalog -o /usr/calculate/share/linux/$data{iso} target/ &>/dev/null")){ + if(system("mkisofs -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 4 -hide boot.catalog -o /usr/calculate/share/linux/$data{iso} target/ &>/dev/null")){ + printmes(" ".gettext('error').".\n"); + breakiso(); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + chdir($ENV{PWD}); + + #удалим временные файлы + printmes(" ".gettext('Delete temporary files')); printmes("..."); + if(system("rm -rf $data{tmpdir}/livecd")){ + printmes(" ".gettext('error').".\n"); + breakiso(); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #Создадим DIGESTS-файл + printmes(" ".gettext('Create')); printmes(" DIGESTS "); printmes(gettext('file')); printmes("..."); + if(create_digests("/usr/calculate/share/linux/$data{iso}")){ + printmes(" ".gettext('done')); printmes(".\n"); + }else{ + printmes(" ".gettext('error').".\n"); + } + + return 1; +} + +#------------------------------------------------------------------------------ +# +# Отмонтируем диски в случае прерывания сборки +# +#------------------------------------------------------------------------------ +sub breakiso{ + printmes(gettext('Operation interrupted')); printmes(".\n"); + printmes(gettext('Abort')); printmes("..."); + + #отмонтируем все директории и точку монтирования + system "rm -rf \"$data{tmpdir}/livecd\""; + printmes(" ".gettext('done').".\n"); +} + +#------------------------------------------------------------------------------ +# Подменим переменные конфигурационного файла новыми значениями +# Праметры: массив строк конфигурационного файла, массив переменных +# с присвоенными значениями +#------------------------------------------------------------------------------ +sub substitution{ + my ($original, $conf) = @_; + + #заполним хэш новыми значениями переменных + my %conf; + my $part = "default"; + foreach(@{$conf}){ + if(m/^\s*\[([^\]]+)\]\s*$/){$part = $1; next;} + if(m/^\s*([^#][^\s=]+)([\s=].*)$/){ + $conf{$part}{$1} = $2; + chomp $conf{$part}{$1}; + #выполним преобразования + my $var = $1; + $conf{$part}{$var}=~s/\\n/\n/g; + $conf{$part}{$var}=~s/\\t/\t/g; + } } + + #сформируем готовые строки + my @substitution; + my $part = "default"; + foreach(@{$original}){ + if(m/^\s*\[([^\]]+)\]\s*$/){ + #перенесем новые переменные обработанного блока + foreach(sort keys %{$conf{$part}}){ + push(@substitution, "$_$conf{$part}{$_}\n"); + } + delete $conf{$part}; #удалим перенесенный блок переменных + push(@substitution, "$_"); + $part = $1; next; + } + + if(m/^\s*([;]*)([^\s=]+)([\s=].*)$/ && defined $conf{$part}{$2}){ + #подменим значение + push(@substitution, "$2$conf{$part}{$2}\n"); + delete $conf{$part}{$2}; + }else{ + push(@substitution, $_); + } } + + #перенесем новые переменные последнего блока + foreach(sort keys %{$conf{$part}}){ + push(@substitution, "$_$conf{$part}{$_}\n"); + } + delete $conf{$part}; #удалим перенесенный блок переменных + + #создадим новые блоки + my $part; + my $new; + foreach(sort keys %conf){ + $part = $_; + foreach(sort keys %{$conf{$_}}){ + if($new ne $part){ + push(@substitution, "[$part]\n"); + $new = $part; + } + push(@substitution, "$_$conf{$part}{$_}\n"); + } } + + return @substitution; +} + +#------------------------------------------------------------------------------ +# Чтение хэша переменных +# Работать с хэшем следует через getini() и putini() +# Параметр: [chroot] +#------------------------------------------------------------------------------ +sub loadini{ + my $path, $system; + if($_[0] ne "chroot"){ + if(!$data{pathini}){ + $data{pathini} = "/etc/calculate/calculate.ini"; + } + $path = $data{pathini}; + $system = "ini"; + }elsif($_[0] eq "chroot"){ + if(!$data{pathini_chroot}){ + $data{pathini_chroot} = "$data{chroot}/etc/calculate/calculate.ini"; + } + $path = $data{pathini_chroot}; + $system = "ini_chroot"; + if(!$data{chroot}){print "Eroror loadini: No chroot path!\n";} + }else{print "Eroror loadini: Incorrect parameters!\n";} + if(-e $path){ + #считаем дополнительные профили установки + open(INI, $path); + foreach(){ + if(m/^\s*#/){next;} + chomp; + m/^([^=]+)=([^=]+)$/; + if($1 ne ''){ + $data{$system}{$1} = $2; + } + } + close(INI); + } +} + +#------------------------------------------------------------------------------ +# Чтение переменной хэша переменных среды +# Параметр: имя переменной, [chroot] +#------------------------------------------------------------------------------ +sub getini{ + loadini($_[1]); #загрузим параметры, если они еще не загружены + my $system; + if($_[1] ne "chroot"){$system = "ini";}else{$system = "ini_chroot";} + + return $data{$system}{$_[0]}; +} + +#------------------------------------------------------------------------------ +# Запись переменной в файл хэша переменных среды +# Параметры: переменная => значение, [chroot] +#------------------------------------------------------------------------------ +sub putini{ + loadini($_[2]); #загрузим параметры, если они еще не загружены + my $system, $path; + if($_[2] ne "chroot"){ + $system = "ini"; + $path = $data{pathini}; + }else{ + $system = "ini_chroot"; + $path = $data{pathini_chroot}; + } + + $data{$system}{$_[0]} = $_[1]; + + open INI,">$path" or die "Can't open $f : $!"; + foreach(sort keys %{$data{$system}}){ + print INI "$_=$data{$system}{$_}\n"; + } + close (INI); +} + +#------------------------------------------------------------------------------ +# Генерация пароля +#------------------------------------------------------------------------------ +sub password{ + my %data = ( + lengh => 8, + char => char, #[symbol|char] генерируемые знаки + @_, + ); + + my $passwd, $cpas; + foreach(my $i = 0; $i < 8; $i++){ + if($data{char} eq 'char'){ + while ( + $cpas < 48 || + ($cpas > 57 && $cpas < 65) || + ($cpas > 90 && $cpas < 97) + ){ + $cpas = sprintf("%0.0f", rand() * 122); + } + $passwd .= chr($cpas); $cpas = 0; + }else{ + while ($cpas < 35 && $cpas < 126){ + $cpas = sprintf("%0.0f", rand() * 126); + } + $passwd .= chr($cpas); $cpas = 0; + } + } + + return $passwd; +} + +#------------------------------------------------------------------------------ +# Выполним проверки на совместимость +# Параметр: система и номер поддерживаемой версии +#------------------------------------------------------------------------------ +sub checkos{ + my ($os,$ver) = @_; + + if($data{calculate} ne "$os"){ + printmes(gettext('Error')."! "); + printmes(gettext('Command is supported only in')); + printmes(" $data{ver}{$os}.\n"); beep(); return ""; + } + if(number_ver($data{os}) < number_ver($ver)){ + printmes(gettext('Error')."! "); + printmes(gettext('Command is supported on system not below version')); + printmes(" $ver.\n"); beep(); return ""; + } + + return 1; +} + + +#------------------------------------------------------------------------------ +# Настроим серверы CDS +#------------------------------------------------------------------------------ +sub setupservers{ + #выполним проверки на совместимость + if(!checkos("CDS", "8.3")){return "";} + + #дополнительные проверки + if($data{arg}{setup}!~m/^ldap$/i && $data{up_ldap} eq "off"){ + not_setup_server("LDAP"); return ""; + } + + if($data{arg}{setup}=~m/^ldap$/i){ + if($data{up_ldap} eq "on"){ + printmes(gettext('Error')."! "); + printmes(gettext('Server is already adjusted')); printmes(".\n"); + beep(); return ""; + } + + #проверка запущенного LDAP с остановкой + if( + -e "/var/run/samba/smbd.pid" || + -e "/var/run/samba/nmbd.pid" || + -e "/var/run/openldap/slapd.pid" + ){ + printmes(gettext('Error')."! "); + printmes(gettext('Before start stop working LDAP and SAMBA servers')); + printmes(".\n"); beep(); return ""; + } + + #установим флаг наличия сервера + $data{up_ldap} = "on"; + + #наложим профиль CDS + $data{'chroot'} = ""; #все изменения проводим загруженной системе + $data{setupldap} = "on"; + profile("/usr/calculate/install/profile/CDS"); + $data{setupldap} = ""; + + #запустим LDAP-сервер + system "/etc/init.d/slapd start"; + + #настроим базовую структуру сервера и добавим базовых пользователей + printmes(" ".gettext('Setup base structure of a LDAP server')); printmes("..."); + if(!ldapmodify(add_file => qq#/etc/calculate/ldif/ldap_base.ldif#, root_tmp => ok)){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #настроим SAMBA-структуру в LDAP-сервере + system "/usr/sbin/smbldap-populate"; + + #добавим базовые группы в LDAP + printmes(" ".gettext('Add UNIX groups in a LDAP server')); printmes("..."); + if(!ldapmodify(add_file => qq#/etc/calculate/ldif/ldap_groups.ldif#, root_tmp => ok)){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #настроим LDAP (без флага настроек setupldap), пропишем серверы в автозагрузку + profile("/usr/calculate/install/profile/CDS"); + + #перезапустим LDAP-сервер + system "/etc/init.d/slapd restart"; + + #пропишем в самбу пароль администратора LDAP для управления пользователями + system "/usr/bin/smbpasswd -w $data{ldap_rootpw}"; + + #запустим SAMBA-сервер + system "/etc/init.d/samba start"; + + #сохраним произведенные изменения в calculate.ini + putini("up.ldap" => "on"); + + printmes(gettext('All done')); printmes("!\n"); + + }elsif($data{arg}{setup}=~m/^mail$/i){ + if($data{up_mail} eq "on"){ + printmes(gettext('Error')."! "); + printmes(gettext('Server is already adjusted')); printmes(".\n"); + beep(); return ""; + } + + #установим флаг наличия сервера + $data{up_mail} = "on"; + #наложим выбранные профиль CDS + $data{'chroot'} = ""; profile("/usr/calculate/install/profile/CDS"); + + #перезапустим LDAP-сервер + system "/etc/init.d/slapd restart"; + + #добавим структуру почтового сервера + printmes(" ".gettext('Add email support in a LDAP server')); printmes("..."); + if(!ldapmodify(add_file => qq#/etc/calculate/ldif/mail.ldif#)){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #создадим базу aliases + system "$data{path} newaliases"; + + #запустим MAIL-сервер + system "/etc/init.d/postfix start"; + + #запустим IMAP-сервер + system "/etc/init.d/dovecot start"; + + #сохраним произведенные изменения в calculate.ini + putini("up.mail" => "on"); + + printmes(gettext('All done')); printmes("!\n"); + + }elsif($data{arg}{setup}=~m/^ftp$/i){ + + }else{ + printmes(gettext('Error')."! "); + printmes(gettext('The name of a server is incorrectly specified')); + printmes(".\n"); + printmes(gettext('Try')); printmes(" 'calculate --help' "); printmes(gettext('for more information')); + printmes(".\n"); + beep(); return ""; + } +} + +#------------------------------------------------------------------------------ +# Выполним резервное копирование данных серверов +#------------------------------------------------------------------------------ +sub backupservers{ + #выполним проверки на совместимость + if(!checkos("CDS", "8.3")){return "";} + + printmes(" ".gettext('Backup LDAP server')); printmes("..."); + #сделаем резервную копию LDAP + if(!ldapsearch(backup_file => "/var/CDS/backup/ldap.ldif", where => "$data{'ldap_base'}")){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } +} + +#------------------------------------------------------------------------------ +# Управление пользователями и группами +#------------------------------------------------------------------------------ +sub user{ + #выполним проверки на совместимость + if(!checkos("CDS", "8.3")){return "";} + + #проверим на настроенный сервис + if($data{up_ldap} eq "off"){not_setup_server("LDAP"); return "";} + + if($data{arg}{'useradd'}){ + #проверим на существование учетной записи пользователя + printmes(" ".gettext('Check existing user account')); printmes("..."); + if(check_user($data{arg}{'useradd'})){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + my $groups; if($data{'user_groups'}){$groups = "-G $data{'user_groups'}";} + my $comment; if($data{'user_comment'}){$comment = "-c \"$data{'user_comment'}\"";} + + if(system "$data{path} smbldap-useradd -a $groups $comment $data{arg}{'useradd'}"){ + beep(); return ""; + } + #создадим почтовую директорию и перенесем туда базовую структуру + copyskel("mail" => "/var/CDS/mail"); + #создадим директорию UNIX-профиля + copyskel("profiles" => "/var/CDS/profiles"); + #создадим домашнюю директорию и перенесем туда базовую структуру + copyskel("home" => "/var/CDS/share"); + #создадим директорию WINNT-профиля и перенесем туда базовую структуру netlogon + copyskel("winnt/netlogon" => "/var/CDS/winnt/netlogon"); + copyskel("winnt/profiles" => "/var/CDS/winnt/profiles"); + + printmes(gettext('All done')); printmes("! "); + printmes(gettext('User is added to system')); printmes(".\n"); + + }elsif($data{arg}{'userdel'}){ + if(userdel($data{arg}{'userdel'})){ + printmes(gettext('All done')); printmes("! "); + printmes(gettext('User is removed from system')); printmes(".\n"); + } + }elsif($data{arg}{'userpasswd'}){ + if(system "$data{path} smbldap-passwd $data{arg}{'userpasswd'}"){ + beep(); return ""; + } + }elsif($data{arg}{'groupadd'}){ + #проверим на существование группы доступа + printmes(" ".gettext('Check existing group')); printmes("..."); + if(check_group($data{arg}{'groupadd'})){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #вычислим последний доступный ID группы + my $maxgid = 999; #на 1 меньше минимального ID группы + foreach(ldapsearch(where => "ou=Groups,$data{'ldap_base'}", grep => "gidNumber:")){ + if(m/^gidNumber:\s+([0-9]+)$/){ + if($maxgid < $1){$maxgid = $1;} + } + } + $maxgid += 1; #прибавим 1 к последнему использованному номеру группы + + #создадим группу + if(!ldapmodify(add => qq# + dn: cn=$data{arg}{'groupadd'},ou=Groups,$data{'ldap_base'} + objectClass: posixGroup + objectClass: sambaGroupMapping + cn: $data{arg}{'groupadd'} + gidNumber: $maxgid + sambaSID: S-1-5-21-4205727931-4131263253-1851132050-$maxgid + sambaGroupType: 2 + displayName: $data{arg}{'groupadd'}#)){ + printmes(gettext('Error')); printmes("!\n"); + beep(); return ""; + }else{ + printmes(gettext('All done')); printmes("!\n"); + } + + }elsif($data{arg}{'groupdel'}){ + if(!ldapdelete("cn=$data{arg}{'groupdel'},ou=Groups,$data{'ldap_base'}")){ + printmes(gettext('Error')); printmes("!\n"); + beep(); return ""; + }else{ + printmes(gettext('All done')); printmes("!\n"); + } + + }elsif($data{arg}{'groupmod'}){ + if(defined $data{useradd} && $data{useradd} eq "" || + defined $data{userdel} && $data{userdel} eq "" || + !$data{useradd} && !$data{userdel} + ){ + printmes(gettext('Login of the user is not specified').".\n"); + printmes(gettext('Try')); printmes(" 'calculate --help' "); printmes(gettext('for more information')); + printmes(".\n"); + beep(); return ""; + } + + #проверим на существование группы доступа + printmes(" ".gettext('Check existing group')); printmes("..."); + if(!check_group($data{arg}{'groupmod'})){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #проверим на существование учетной записи пользователя + { + my @users; + if($data{useradd}){push(@users,$data{useradd});} + if($data{userdel}){push(@users,$data{userdel});} + + printmes(" ".gettext('Check existing user account')); printmes("..."); + if(!check_user(@users)){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + } + + #проверим на существование группы у добавляемых пользователей + if($data{useradd}){ + printmes(" ".gettext('Check up presence of the user in group')); printmes("..."); + if(check_groupuser($data{arg}{'groupmod'}, $data{useradd})){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } } + + #проверим на существование группы у удаляемых пользователей + if($data{userdel}){ + printmes(" ".gettext('Check up presence of the user in group')); printmes("..."); + if(!check_groupuser($data{arg}{'groupmod'}, $data{userdel})){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } } + + #добавим пользователя в группу + if($data{useradd}){ + ldapmodify(replace => qq#dn: "cn=$data{arg}{'groupmod'},ou=Groups,$data{'ldap_base'}" + add: memberUid + memberUid: $data{useradd}#); + } + + #удалим пользователя из группы + if($data{userdel}){ + ldapmodify(replace => qq#dn: "cn=$data{arg}{'groupmod'},ou=Groups,$data{'ldap_base'}" + delete: memberUid + memberUid: $data{userdel}#); + } + + printmes(gettext('All done')); printmes("!\n"); + + }else{ + printmes(gettext('Error')."! "); + if(defined $data{arg}{'useradd'} || defined $data{arg}{'userdel'} || defined $data{arg}{'userpasswd'}){ + printmes(gettext('Login of the user is not specified')); + }else{ + printmes(gettext('Group is not specified')); + } + printmes(".\n"); beep(); return ""; + } +} + +#------------------------------------------------------------------------------ +# Перенос skel-файлов +#------------------------------------------------------------------------------ +sub copyskel{ + my ($skel, $dir) = @_; + my $user = $data{arg}{'useradd'}; + + system "$data{path} cp -a $data{dir}/install/skel/$skel $dir/$user"; + system "$data{path} chown -R `$data{path} id -u $user`:`$data{path} id -g $user` $dir/$user"; + system "$data{path} chmod 700 $dir/$user"; +} + +#------------------------------------------------------------------------------ +# Ошибка - не настроен необходимый сервер +# параметр: имя сервера +#------------------------------------------------------------------------------ +sub not_setup_server{ + printmes(gettext('Error')."! "); + printmes(gettext('Before performance adjust a')); + printmes(" $_[0] "); + printmes(gettext('server')); printmes(".\n"); + printmes(gettext('Try')); printmes(" 'calculate --help' "); printmes(gettext('for more information')); + printmes(".\n"); + beep(); +} + +#------------------------------------------------------------------------------ +# Управление почтовыми ящиками +#------------------------------------------------------------------------------ +sub mail{ + #проверим на настроенный сервис + if($data{up_mail} eq "off"){not_setup_server("MAIL"); return "";} + + #выполним проверки на совместимость + if(!checkos("CDS", "8.3")){return "";} + + if($data{arg}{'mailuseradd'}){ + #проверим на наличие пользователя в LDAP-сервере + printmes(" ".gettext('Check existing user account')); printmes("..."); + + if(!ldapsearch(check => yes, where => "uid=$data{arg}{'mailuseradd'},ou=Users,$data{'ldap_base'}", grep => "dn:")){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #проверим на существование почтового ящика + printmes(" ".gettext('Check existing email account')); printmes("..."); + if(check_email($data{arg}{'mailuseradd'})){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #добавим почтовый ящик в LDAP-сервер + printmes(" ".gettext('Create a new email account')); printmes("..."); + if(!ldapmodify(add => qq# + dn: uid=$data{arg}{'mailuseradd'},ou=Users,ou=Mail,$data{'ldap_base'} + objectClass: inetOrgPerson + objectClass: qmailUser + uid: $data{arg}{'mailuseradd'} + cn: CDS Mail User + sn: CDS Mail User + accountStatus: active + mailMessageStore: $data{arg}{'mailuseradd'}/ + mail: $data{arg}{'mailuseradd'}\@$data{hostname}.$data{domain} + mailAlternateAddress: $data{'mail'} + userPassword: {crypt}x#)){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + printmes(gettext('All done')); printmes("!\n"); + + }elsif($data{arg}{'mailuserdel'}){ + if(mailuserdel($data{arg}{'mailuserdel'})){ + printmes(gettext('All done')); printmes("!\n"); + } + }elsif($data{arg}{'mailuserpasswd'}){ + #проверим на существование почтового ящика + printmes(" ".gettext('Check existing email account')); printmes("..."); + if(!check_email($data{arg}{'mailuserpasswd'})){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #введем пароль + my $passwd = inputpasswd($data{arg}{'mailuserpasswd'}); + + #изменим почтовый пароль + printmes(" ".gettext('Change a email account password')); printmes("..."); + if(!ldapmodify(replace => qq#dn: uid=$data{arg}{'mailuserpasswd'},ou=Users,ou=Mail,$data{'ldap_base'} + userPassword: #.`$data{path} slappasswd -s $passwd -h {SSHA}`)){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + printmes(gettext('All done')); printmes("!\n"); + + }elsif($data{arg}{'mailgroupadd'}){ + + }elsif($data{arg}{'mailgroupdel'}){ + + }else{ + printmes(gettext('Error')."! "); + if(defined $data{arg}{'mailuseradd'} || defined $data{arg}{'mailuserdel'} || defined $data{arg}{'mailuserpasswd'}){ + printmes(gettext('Login of the email user is not specified')); + }else{ + printmes(gettext('Group is not specified')); + } + printmes(".\n"); beep(); return ""; + } + +} + +#------------------------------------------------------------------------------ +# Проверим на существование учетной записи пользователя +# Параметр: логин пользователя, [логин пользователя] +#------------------------------------------------------------------------------ +sub check_user{ + my @login = @_; + + foreach(@login){ + if(!ldapsearch(check => yes, where => "uid=$_,ou=Users,$data{'ldap_base'}", grep => "dn:")){ + return ""; #пользователя нет + } } + + return 1; #пользователь есть +} + +#------------------------------------------------------------------------------ +# Проверим на существование группы доступа +# Параметр: группа, [группа] +#------------------------------------------------------------------------------ +sub check_group{ + my @group = @_; + + foreach(@group){ + if(!ldapsearch(check => yes, where => "cn=$_,ou=Groups,$data{'ldap_base'}", grep => "dn:")){ + return ""; #пользователя нет + } + } + + return 1; #пользователь есть +} + +#------------------------------------------------------------------------------ +# Проверим на существование почтового ящика +# Параметр: логин пользователя +#------------------------------------------------------------------------------ +sub check_email{ + my $login = $_[0]; + + if(!ldapsearch(check => yes, where => "$login,ou=Users,ou=Mail,$data{'ldap_base'}", grep => "dn:")){ + return ""; #ящика нет + }else{ + return 1; #ящик есть + } +} + +#------------------------------------------------------------------------------ +# Проверим на существование группы у пользователя +# Параметр: группа, логин пользователя +#------------------------------------------------------------------------------ +sub check_groupuser{ + my ($group, $login) = @_; + + if(!ldapsearch(check => yes, where => "cn=$group,ou=Groups,$data{'ldap_base'}", grep => "memberUid:", filter => "(memberUid=$login)")){ + return ""; #группы нет + } + return 1; #группа есть +} + +#------------------------------------------------------------------------------ +# Удалим пользователя из системы +# Параметр: имя пользователя +#------------------------------------------------------------------------------ +sub userdel{ + my $login = $_[0]; + + #проверим на существование учетной записи пользователя + printmes(" ".gettext('Check existing user account')); printmes("..."); + if(!check_user($login)){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #удалим пользователя из сервисов + mailuserdel($login, soft); #почтовый аккаунт + + #удалим пользователя со всех групп, где он есть + printmes(" ".gettext('Remove the user from groups')); printmes("..."); + #получим список групп пользователя + foreach(ldapsearch(where => "ou=Groups,$data{'ldap_base'}", grep => "cn:", filter => "(memberUid=$login)")){ + m/^cn:\s+(.+)$/; + #удалим пользователя из группы + ldapmodify(replace => qq#dn: "cn=$1,ou=Groups,$data{'ldap_base'}" + delete: memberUid + memberUid: $login#); + } + printmes(" ".gettext('done')); printmes(".\n"); + + #удалим пользователя из главной записи + if(!ldapdelete("uid=$login,ou=Users,$data{'ldap_base'}")){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + } + + #удалим файлы пользователя + system "rm -rf /var/CDS/mail/$login"; + system "rm -rf /var/CDS/profiles/$login"; + system "rm -rf /var/CDS/share/$login"; + system "rm -rf /var/CDS/winnt/netlogon/$login"; + system "rm -rf /var/CDS/winnt/profiles/$login"; + + return 1; +} + +#------------------------------------------------------------------------------ +# Удалим почтовый ящик пользователя +# Параметр: имя пользователя, [soft] - не выдавать ошибку в случае отсутствия ящика +#------------------------------------------------------------------------------ +sub mailuserdel{ + my ($login, $soft) = @_; + + #проверим на существование почтового ящика + printmes(" ".gettext('Check existing email account')); printmes("..."); + if(!check_email($login)){ + if($soft){ + printmes(" ".gettext('done')); printmes(".\n"); + return ""; + } + printmes(" ".gettext('error').".\n"); + beep(); return ""; + } + printmes(" ".gettext('done')); printmes(".\n"); + + #удалим почтовый ящик + printmes(" ".gettext('Delete a email account')); printmes("..."); + if(!ldapdelete("uid=$login,ou=Users,ou=Mail,$data{'ldap_base'}")){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + return 1; +} + +#------------------------------------------------------------------------------ +# Введем пароль пользователя +# Параметр: логин пользователя +#------------------------------------------------------------------------------ +sub inputpasswd{ + my $login = $_[0]; + my $pass,$pass2; + + if($login){ + printmes(gettext('Changing password for')); printmes(" \"$login\"\n"); + } + printmes(gettext('New password')); printmes(" :"); + system "stty -echo" if (-t STDIN); + chomp($pass=); + system "stty echo" if (-t STDIN); + print "\n"; + + printmes(gettext('Retype new password')); printmes(" :"); + system "stty -echo" if (-t STDIN); + chomp($pass2=); + system "stty echo" if (-t STDIN); + print "\n"; + + if ($pass ne $pass2) { + printmes(gettext('New passwords do not match')); printmes("!\n"); + beep(); return ""; + }elsif($pass eq '') { + printmes(gettext('Password not entered')); printmes("!\n"); + beep(); return ""; + }else{ + return $pass; + } +} + +#------------------------------------------------------------------------------ +# Изменение и добавление LDAP-записи +#------------------------------------------------------------------------------ +sub ldapmodify{ + my %ldap = ( + replace => "", + add => "", + replace_file => "", + add_file => "", + root_tmp => "", + @_, + ); + + my $ldif, $add, $file; + if($ldap{replace}){ + $ldif = qq#echo "$ldap{replace}" |#; + }elsif($ldap{add}){ + $ldif = qq#echo "$ldap{add}" |#; + $add = "-a"; + }elsif($ldap{replace_file}){ + $file = qq#-f "$ldap{replace_file}"#; + }elsif($ldap{add_file}){ + $file = qq#-f "$ldap{add_file}"#; + $add = "-a"; + } + my $auth; + if(!$ldap{root_tmp}){ + $auth = qq#-D "$data{ldap_root}" -w $data{ldap_rootpw}#; + }else{ + $auth = qq#-D "$data{ldap_root_tmp}" -w $data{ldap_rootpw_tmp}#; + } + + if(system qq#$ldif $data{path} ldapmodify $add -x $auth $file -h localhost &>/dev/null#){ + printmes(" ".gettext('error').".\n"); + beep(); return ""; + }else{ + return 1; + } +} + +#------------------------------------------------------------------------------ +# Удалим LDAP-запись +# Параметр: запись +#------------------------------------------------------------------------------ +sub ldapdelete{ + my $delete = $_[0]; + + if(system qq#$data{path} ldapdelete "$delete" -x -D $data{ldap_root} -w $data{ldap_rootpw} -h localhost >/dev/null 2>&1#){ + return ""; + }else{ + return 1; + } +} + +#------------------------------------------------------------------------------ +# Поиск LDAP-записей +# Возвращает массив строк +#------------------------------------------------------------------------------ +sub ldapsearch{ + my %ldap = ( + where => "", + filter => "", + grep => "", + check => "", + backup_file => "", + @_, + ); + + if($ldap{backup_file}){ + if(system qq#$data{path} ldapsearch -LLL -b "$ldap{where}" -LLL -x -D $data{ldap_root} -w $data{ldap_rootpw} -h localhost "(objectclass=*)" > $ldap{backup_file}#){ + return ""; + }else{ + return 1; + } + } + + my $filter; if($ldap{filter}){$filter = qq#"$ldap{filter}"#;} + my $grep; if($ldap{grep}){$grep = qq#| grep "$ldap{grep}"#;} + + my $ldif = qq#$data{path} ldapsearch $filter -b "$ldap{where}" -x -D $data{ldap_root} -w $data{ldap_rootpw} -h localhost $grep $obj#; + + if($ldap{check}){ + if(system "$ldif >/dev/null 2>&1"){ + return ""; #записи нет + }else{ + return 1; #запись есть + } + }else{ + return `$ldif`; #вернем массив найденных результатов + } +} + +#------------------------------------------------------------------------------ +# Сверим контрольные суммы исходного файла с файлом DIGEST +#------------------------------------------------------------------------------ +sub check_digests{ + my $file = $_[0]; + my $digests = "$_[0].DIGESTS"; + + #считаем контрольные суммы + open (F, $digests); + my $tmp = $/; undef $/; my $lines=; $/ = $tmp; + close (F); + + my $type; + foreach(split "\n", $lines){ + if(/^#\s+([^\s]+)\s+HASH/){$type = $1; next;} + my $hash = $_; + if($type eq "MD5"){ + if(!`openssl md5 $file | grep $hash`){return "";} + }elsif($type eq "SHA1"){ + if(!`openssl sha1 $file | grep $hash`){return "";} + } + } + return 1; +} + +#------------------------------------------------------------------------------ +# Создадим новый initrd файл +#------------------------------------------------------------------------------ +sub initrd{ + printmes(gettext('Create new initrd file')); printmes("..."); + if(!initrd_clean()){ + beep(); + printmes(" ".gettext('error')."!\n"); + } +} + +#------------------------------------------------------------------------------ +# Создадим урезанный по железу initrd файл +#------------------------------------------------------------------------------ +sub initrd_clean{ + my $chroot = $_[0]; + + if($chroot && number_ver($data{os}) <= number_ver(8.7)){ + #пропущем, выполним calculate --initrd при первой загрузке из профиля + printmes(" ".gettext('pass')); printmes(".\n"); +# printmes(gettext('It is supported in systems of versions')); printmes(" > 8.7\n"); + return 1; + } + + #найдем среди запущенных модулей не задействованные, которые можно удалить + my %mod_dep; #хэш зависимостей, ключ - модуль, значение - модули его использующие + my %mod_run; #хэш работающих модулей + my %mod_all; #все модули + foreach(`$path lsmod`){ + if(m/^Module/){next;} + if(m/^([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)?$/){ + my $dep = 0; + if($4){ + foreach(split /,/, $4){ + $dep ++; + if($mod_dep{$_}){$mod_dep{$_}.=","} + $mod_dep{$_}.="$1"; + } + } + if($3 > $dep){ + $mod_run{$1} ++; + } + $mod_all{$1} ++; + } + } + + #получим пути к модулям + foreach(keys %mod_all){ + my $type = `modinfo $_ | grep "filename:"`; + chomp $type; + $type=~m/^filename:\s+([^\s]+)$/; + $mod_all{$_} = $1; + } + + #уберем некоторые из работающих модулей + foreach(keys %mod_run){ + if( + $mod_all{$_}!~m#/kernel/# || + $mod_all{$_}=~m#/kernel/fs/cifs/# || + $mod_all{$_}=~m#/kernel/fs/nfs/# + ){delete $mod_run{$_};} + } + + #переведем некоторые модули в статус работающих + #для совместимости при переходе на новую версию +# foreach(keys %mod_all){ +# if( +# $mod_all{$_}=~m#/kernel/drivers/net/# +# ){$mod_run{$_}++;} +# } + + #объединим работающие модули с зависимостями + foreach(keys %mod_run){ + if($mod_dep{$_}){ + foreach(split /,/, $mod_dep{$_}){ + $mod_run{$_} ++; + } + } + } + + #распакуем initrd + my $tmpdir = "$chroot/tmp/initrd"; + `$data{path} rm -rf $tmpdir`; + `$data{path} mkdir $tmpdir`; + chdir($tmpdir); + + if(!-e "$chroot/boot/initrd-install"){ + `$data{path} cp -a $chroot/boot/initrd $chroot/boot/initrd-install`; + } + `$data{path} cp $chroot/boot/initrd-install $tmpdir/initrd-install.gz`; + `$data{path} gunzip $tmpdir/initrd-install.gz`; + `$data{path} cat $tmpdir/initrd-install | cpio -idv >/dev/null 2>&1`; + `$data{path} rm $tmpdir/initrd-install`; + + #удалим не работающие модули из initrd + foreach(`$data{path} find $tmpdir/lib/modules/ -name *.ko`){ + m/\/([^\/]+)\.ko$/; + if(!$mod_run{$1}){`rm $_`;} + } + + #соберем распакованный initrd + `$data{path} find * | cpio -o --quiet -H newc | gzip -9 > $chroot/boot/initrd`; + + chdir($ENV{PWD}); + `$data{path} rm -rf $tmpdir`; + + printmes(" ".gettext('done')); printmes(".\n"); + return 1; +} + +#------------------------------------------------------------------------------ +# Установка дополнений +#------------------------------------------------------------------------------ +sub addition{ + my $path = "/usr/calculate/share/addition/"; + my $find = lc($data{'calculate'})."\-(.*)-($data{os})\-$data{march}\.tar"; + + my $chk; + if(-e $path){ + foreach(`$data{path} find $path | sort`){ + chomp $_; + if($_=~m/\/$find$/){ + #проверим на то, что обновление уже установлено + if(!getini("addition.$1") || defined $data{arg}{'force'}){ + printmes("\n ".gettext('Addition is found')); + printmes(": ".ucfirst($1)." $2\n"); + + printmes("\n".gettext('Installation of addition will begin through')); printmes(" 10 "); printmes(gettext('seconds')); printmes(".\n"); + + printmes(gettext('Press')); printmes(" Ctrl+C "); printmes(gettext('to cancel')); printmes("... "); + if(system(q|echo -e -n "\a10"; sleep 1; for ((i=9; $i>0; i--)); do echo -e -n "\a\b\b $i"; sleep 1; done; echo -e "\b\b ";|)){ + printmes("\n"); next; + } + + #распакуем дополнение + printmes(" ".gettext('Unpack')); printmes("..."); + + my $extract; + if(number_ver($data{os}) > number_ver(8.7)){ + if(!-e $data{pkgdir}){system "$data{path} mkdir -p $data{pkgdir}";} + $extract = $data{pkgdir}; + }else{ + $extract = "/"; + } + + my $packages; #список пакетов + foreach(`$data{path} tar -xvf $_ -C $extract`){ + chomp; + if(m/\/All\// || !m/tbz2/){next;} + m/([^\/]+\/[^\/]+)\.tbz2$/; + $packages .= " =$1"; #сформируем переменную для установки + push(@{$data{packageslist}}, "=$1"); #сформируем массив для проверки зависимостей + } + printmes(" ".gettext('done')); printmes(".\n"); + + #проверим зависимости + if(!dependence('hide')){ + beep(); + exit; + } + + #проверим пакеты, которые нужно установить + my @install; + printmes(" ".gettext('Compare to the list of the established packages')); printmes("..."); + foreach(`emerge -p$packages 2>&1`){ + if( + m/\[ebuild\s+N\s+\]/ || m/\[ebuild\s+U\s+\]/ || + (defined $data{arg}{'force'} && m/\[ebuild\s+.+\]/) + ){ + m/\[ebuild[^\]]+\]\s+([^\s]+)/; #выделим пакет с версией + push (@install, $1); + } + } + printmes(" ".gettext('done')); printmes(".\n"); + + if(@install){ + #установим необходимые пакеты + printmes(gettext('Perform installation')); printmes(":\n"); + my $num = 1; + my $all = @install; + foreach(@install){ + #printmes(' '.gettext('Unpack')); + printmes(" ($num "); + printmes(gettext('of')); + printmes(" $all) $_..."); + if(system "$data{path} emerge --usepkg =$_ &>/dev/null"){ + printmes(" ".gettext('error').".\n"); + exit; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + $num ++; + } + } + + putini("addition.$1" => "$2"); + $chk ++; #флаг успешного обновления + } } } + }else{ + `$data{path} mkdir -p $path`; + } + + if(!$chk){ + printmes("\n".gettext('No updates available')); printmes(".\n"); + }else{ + printmes(gettext('All done')); printmes("!\n"); + } +} + +#------------------------------------------------------------------------------ +# Покажем список пакетов входящих в дополнение +#------------------------------------------------------------------------------ +sub listadd{ + if(!checkadd()){return "";} + + printmes(gettext('Package list incoming in the addition')); printmes(" \"".ucfirst($data{addition})."\"...\n"); + + #отобразим на экране список пакетов + my $i = 0; + foreach(packages()){ + printmes("$_\n"); + $i++; + } + + printmes("\n"); + printmes(gettext('All')); printmes(" $i "); printmes(gettext('packages')); + printmes(".\n"); + + return 1; +} + +#------------------------------------------------------------------------------ +# Соберем пакет дополнения +#------------------------------------------------------------------------------ +sub makeadd{ + if(number_ver($data{os}) <= number_ver(8.7)){ + printmes(gettext('It is supported in systems of versions')); + printmes(" > 8.7\n"); + return ""; + } + + if(!checkadd()){return "";} + + #проверим зависимости + if(!dependence()){ + beep(); + exit; + } + + printmes("\n".gettext('Assembly of addition will begin through')); printmes(" 10 "); printmes(gettext('seconds')); printmes(".\n"); + + printmes(gettext('Press')); printmes(" Ctrl+C "); printmes(gettext('to cancel')); printmes("... "); + if(system(q|echo -e -n "\a10"; sleep 1; for ((i=9; $i>0; i--)); do echo -e -n "\a\b\b $i"; sleep 1; done; echo -e "\b\b ";|)){ + printmes("\n"); return ""; + } + + printmes(gettext('Make addition')."\n"); + + my @packages = packages(); #получим список пакетов дополнения + + #путь к собираемым бинарным файлам пакетов дополнения + my $pathadd = "$data{tmpdir}/packages/$data{addition}/$data{calculate}/$data{linuxver}/$data{march}"; + + #путь к архиву + my $pathtar = "/usr/calculate/share/addition/". + lc($data{'calculate'})."-$data{addition}-$data{linuxver}-$data{march}.tar"; + + #путь к LIST-файлу + my $pathlist = "/usr/calculate/share/addition/". + lc($data{'calculate'})."-$data{addition}-$data{linuxver}-$data{march}.list"; + + #соберем пакеты, без записи в world файл + if(system "$data{path} PKGDIR=\"$pathadd\" emerge --buildpkg --oneshot --noreplace @packages"){ + beep(); + printmes(" ".gettext('error')."!\n"); return ''; + return ""; + }else{ + printmes(" ".gettext('done').".\n"); + } + + #упакуем в пакет дополнения скомпилированные программы + printmes(" ".gettext('Packing addition')); printmes("..."); + chdir($pathadd); + if(system("$data{path} tar -cf $pathtar .")){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + chdir($ENV{PWD}); + + #удалим бинарные файлы программ + printmes(" ".gettext('Delete temporary files')); printmes("..."); + if(system "rm -rf $pathadd"){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #деинсталлируем собранные пакеты, чтобы привести систему в первоначальный вид + printmes(" ".gettext('Uninstall packages')); printmes("..."); + my $packages, %list; #список пакетов + foreach(`$data{path} tar -tf $pathtar`){ + chomp; + if(m/\/All\// || !m/tbz2/){next;} + m/([^\/]+\/[^\/]+)\.tbz2$/; + $packages .= " =$1"; + $list{$1} ++; + } + if(system "$data{path} emerge -C $packages &>/dev/null"){ + printmes(" ".gettext('error').".\n"); + return ""; + }else{ + printmes(" ".gettext('done')); printmes(".\n"); + } + + #Создадим list-файл со списком собранных пакетов + printmes(" ".gettext('Create')); printmes(" LIST "); printmes(gettext('file')); printmes("..."); + open LIST, ">$pathlist"; + foreach(sort keys %list){ + print LIST "$_\n"; + } + close LIST; + printmes(" ".gettext('done')); printmes(".\n"); + + #Создадим DIGESTS-файл + printmes(" ".gettext('Create')); printmes(" DIGESTS "); printmes(gettext('file')); printmes("..."); + if(create_digests($pathtar)){ + printmes(" ".gettext('done')); printmes(".\n"); + }else{ + printmes(" ".gettext('error').".\n"); + } + + printmes("\n".gettext('All done')); printmes("!\n"); + + return 1; +} + +#------------------------------------------------------------------------------ +# Проверим имя пакета дополнения +#------------------------------------------------------------------------------ +sub checkadd{ + if(defined $data{addition} && packages()){ + return 1; + }elsif(!defined $data{addition}){ + printmes(gettext('Addition name is not specified')); printmes(".\n"); + }elsif(!packages()){ + printmes(gettext('Packages addition')); + printmes(" \"$data{addition}\" "); + printmes(gettext('not found')); printmes(".\n"); + } + + printmes(gettext('Try')); printmes(" 'calculate --help' "); printmes(gettext('for more information')); + printmes(".\n"); + beep(); + return ""; +} + +#------------------------------------------------------------------------------ +# Установим по необходимости видеодрайвер +#------------------------------------------------------------------------------ +sub video{ + printmes(" ".gettext('Check the video driver')); printmes("... "); + if( + $data{video_drv} eq 'nvidia' + && + -e "/usr/portage/packages/x11-drivers" + ){ + my $filemask = "/etc/portage/package.mask/nvidia-drivers"; + + #создадим директорию package.mask для версий Calculate Linux < 9.2 + if(-f "/etc/portage/package.mask"){ + system "$data{path} mv /etc/portage/package.mask /etc/portage/package.mask2"; + system "$data{path} mkdir /etc/portage/package.mask"; + system "$data{path} mv /etc/portage/package.mask2 /etc/portage/package.mask/default"; + } + + my $maskold; + if(-f $filemask){ + $maskold = `cat $filemask`; + chomp $maskold; + } + + my $mask = `bash -c "function inherit { echo -n ''; };. /usr/portage/eclass/nvidia-driver.eclass && nvidia-driver-get-mask"`; + chomp $mask; + + printmes(gettext('done').".\n"); + + #обновим драйвер + if($mask ne $maskold){ + printmes(" ".gettext('Driver Installation for')); printmes(" \"$data{video}\"... "); + system "echo '$mask' > $filemask"; + if(system "PKGDIR=\"/usr/portage/packages\" emerge -bk nvidia-drivers > /dev/null"){ + #в случае неудачи, удалим маску + system "rm $filemask"; + printmes(gettext('error').".\n"); + }else{ + printmes(gettext('done').".\n"); + } + } + }else{ + printmes(gettext('done').".\n"); + } +} +#------------------------------------------------------------------------------ +# Звуковое предупреждение +#------------------------------------------------------------------------------ +sub beep{ +# if(-e "/usr/bin/play" && -e "/usr/share/sounds/pop.wav"){ +# `/usr/bin/play /usr/share/sounds/pop.wav 2>&1 >/dev/null`; +# }else{ + system "echo -e -n \"\a\""; +# } +} + +#------------------------------------------------------------------------------ +# Соберем бинарные пакеты дополнений (nVideo драйвера) +#------------------------------------------------------------------------------ +sub makepkg{ + if($data{system} eq "server" || $data{calculate} eq "CLDX"){return 1;} + + printmes(gettext('Make nvidia drivers')."\n"); + + # echo ">x11-drivers/nvidia-drivers-72.00.00" > /etc/portage/package.mask/nvidia + # emerge -bk nvidia-drivers + + printmes(" ".gettext('nvidia-drivers-96.XX.XX')); printmes("... "); + `echo ">x11-drivers/nvidia-drivers-97.00.00" > $data{'chroot'}/etc/portage/package.mask/nvidia`; + if(system "$data{emergerun1} -bk x11-drivers/nvidia-drivers $data{emergerun2} &>/dev/null"){ + beep(); + printmes(gettext('error').".\n"); return ''; + }else{ + printmes(gettext('done').".\n"); + } + + printmes(" ".gettext('nvidia-drivers-173.XX.XX')); printmes("... "); + `echo ">x11-drivers/nvidia-drivers-174.00.00" > $data{'chroot'}/etc/portage/package.mask/nvidia`; + if(system "$data{emergerun1} -bk x11-drivers/nvidia-drivers $data{emergerun2} &>/dev/null"){ + beep(); + printmes(gettext('error').".\n"); return ''; + }else{ + printmes(gettext('done').".\n"); + } + + printmes(" ".gettext('nvidia-drivers-last')); printmes("... "); + `rm $data{'chroot'}/etc/portage/package.mask/nvidia`; + if(system "$data{emergerun1} x11-drivers/nvidia-drivers $data{emergerun2} &>/dev/null"){ + beep(); + printmes(gettext('error').".\n"); return ''; + }else{ + printmes(gettext('done').".\n"); + } + + return 1; +} diff --git a/install/config/fdisk.CDS b/install/config/fdisk.CDS new file mode 100644 index 0000000..77bdda6 --- /dev/null +++ b/install/config/fdisk.CDS @@ -0,0 +1,46 @@ +d +9 +d +8 +d +7 +d +6 +d +5 +d +4 +d +3 +d +2 +d +1 +n +p +1 + ++4096M +n +p +2 + ++20480M +n +p +3 + ++20480M +n +e + + +n + + +t +1 +82 +a +2 +w diff --git a/install/config/fdisk.CLD b/install/config/fdisk.CLD new file mode 100644 index 0000000..617fd36 --- /dev/null +++ b/install/config/fdisk.CLD @@ -0,0 +1,46 @@ +d +9 +d +8 +d +7 +d +6 +d +5 +d +4 +d +3 +d +2 +d +1 +n +p +1 + ++1024M +n +p +2 + ++10240M +n +p +3 + ++10240M +n +e + + +n + + +t +1 +82 +a +2 +w diff --git a/install/config/fdisk.CLDX b/install/config/fdisk.CLDX new file mode 100644 index 0000000..617fd36 --- /dev/null +++ b/install/config/fdisk.CLDX @@ -0,0 +1,46 @@ +d +9 +d +8 +d +7 +d +6 +d +5 +d +4 +d +3 +d +2 +d +1 +n +p +1 + ++1024M +n +p +2 + ++10240M +n +p +3 + ++10240M +n +e + + +n + + +t +1 +82 +a +2 +w diff --git a/install/i18n/ru b/install/i18n/ru new file mode 120000 index 0000000..979c0ac --- /dev/null +++ b/install/i18n/ru @@ -0,0 +1 @@ +ru_RU \ No newline at end of file diff --git a/install/i18n/ru_RU/LC_MESSAGES/calculate.mo b/install/i18n/ru_RU/LC_MESSAGES/calculate.mo new file mode 100644 index 0000000..2d568ee Binary files /dev/null and b/install/i18n/ru_RU/LC_MESSAGES/calculate.mo differ diff --git a/install/i18n/ru_RU/LC_MESSAGES/calculate.po b/install/i18n/ru_RU/LC_MESSAGES/calculate.po new file mode 100644 index 0000000..d0fd448 --- /dev/null +++ b/install/i18n/ru_RU/LC_MESSAGES/calculate.po @@ -0,0 +1,939 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: support.ru\n" +"POT-Creation-Date: 2009-06-04 18:26+0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "\n" +msgstr "" + +msgid " Installation" +msgstr "" + +msgid "Abort" +msgstr "Аварийное завершение" + +msgid "Access management" +msgstr "Управление доступом" + +msgid "Add" +msgstr "Добавлен" + +msgid "Add UNIX groups in a LDAP server" +msgstr "Добавим UNIX группы в LDAP-сервер" + +msgid "Add additional network devices" +msgstr "Добавим дополнительные сетевые устройства" + +msgid "Add administrators to wheel group" +msgstr "Добавим администраторов в группу wheel" + +msgid "Add email support in a LDAP server" +msgstr "Добавим поддержку электронной почты в LDAP-сервер" + +msgid "Add syncronization into" +msgstr "Добавим синхронизацию времени в" + +msgid "Addition is found" +msgstr "Найдено обновление" + +msgid "Addition name is not specified" +msgstr "Не указано имя дополнения" + +msgid "Additional" +msgstr "Дополнительные" + +msgid "Additions assemble" +msgstr "Сборка дополнений" + +msgid "All" +msgstr "Всего" + +msgid "All done" +msgstr "Готово" + +msgid "Apply patches" +msgstr "Установим патчи" + +msgid "Apply profile" +msgstr "Наложим профиль" + +msgid "Apply update" +msgstr "Наложим обновление" + +msgid "Assembly of addition will begin through" +msgstr "Сборка дополнения начнётся через" + +msgid "Authentification" +msgstr "Аутентификация" + +msgid "Available updates" +msgstr "Доступные обновления" + +msgid "Backup LDAP server" +msgstr "Резервная копия LDAP-серера" + +msgid "Basic" +msgstr "Основные" + +msgid "Before performance adjust a" +msgstr "Перед выполнением настройте" + +msgid "Before start stop working LDAP and SAMBA servers" +msgstr "Перед запуском остановите работающие LDAP и SAMBA серверы" + +msgid "Before the installation please remove directory" +msgstr "Перед установкой удалите директорию" + +msgid "Break the system building" +msgstr "Прерывание сборки системы" + +msgid "Building" +msgstr "Сборка" + +msgid "Change a email account password" +msgstr "Изменим пароль почтового ящика" + +msgid "Change boot record" +msgstr "Изменим загрузочную запись" + +msgid "Changed by installator" +msgstr "Изменено установщиком" + +msgid "Changing password for" +msgstr "Изменение пароля для" + +msgid "Chassis Manufacture" +msgstr "Самосборный компьютер" + +msgid "Check existing email account" +msgstr "Проверим существование почтового ящика" + +msgid "Check existing group" +msgstr "Проверим существование группы" + +msgid "Check existing user account" +msgstr "Проверим существование учётной записи" + +msgid "Check of dependences" +msgstr "Проверка зависимостей" + +msgid "Check the checksum" +msgstr "Сверим контрольную сумму" + +msgid "Check the video driver" +msgstr "Проверка видео драйвера" + +msgid "Check up presence of the user in group" +msgstr "Проверим на существование группы у пользователя" + +msgid "Checking for updates available" +msgstr "Проверим на наличие обновлений" + +msgid "Collecting system information" +msgstr "Соберём сведения о системе" + +msgid "Command is supported on system not below version" +msgstr "Команда поддерживается в системе не ниже версии" + +msgid "Command is supported only in" +msgstr "Команда поддерживается только в" + +msgid "Compare to the list of the established packages" +msgstr "Сравним со списком установленных пакетов" + +msgid "Computer name" +msgstr "Имя компьютера" + +msgid "Config files variables list" +msgstr "Список переменных конфигурационных файлов" + +msgid "Configuration" +msgstr "Конфигурирование" + +msgid "Configuration profile is not specified" +msgstr "Не указан конфигурационный профиль" + +msgid "Copy" +msgstr "Скопируем" + +msgid "Copy original ssh keys" +msgstr "Скопируем оригинальные ключи ssh" + +msgid "Copy udev net rules" +msgstr "Скопируем сетевые правила udev" + +msgid "Create" +msgstr "Создадим" + +msgid "Create a mount point \"home\" and \"share\"" +msgstr "Создадим точки монтирования \"home\" и \"share\"" + +msgid "Create a new email account" +msgstr "Создадим новый электронный ящик" + +msgid "Create directory" +msgstr "Создадим директорию" + +msgid "Create iso-image" +msgstr "Создадим iso-образ" + +msgid "Create new initrd file" +msgstr "Создадим новый initrd файл" + +msgid "Create system archive file" +msgstr "Создадим архив системы" + +msgid "Create users accounts" +msgstr "Создадим учётные записи пользователей" + +msgid "Delete" +msgstr "Удалим" + +msgid "Delete Portages" +msgstr "Удалим портежи" + +msgid "Delete a email account" +msgstr "Удалим электронный ящик" + +msgid "Delete temporary files" +msgstr "Удалим временные файлы" + +msgid "Delete the kernel sources" +msgstr "Удалим исходный код ядра" + +msgid "Detect logged in users" +msgstr "Определим присутствие пользователей в системе" + +msgid "Disk" +msgstr "Диск" + +msgid "Distribution image not found" +msgstr "Не найден образ дистрибутива" + +msgid "Domain name" +msgstr "Домен" + +msgid "Downloading update package" +msgstr "Загрузим пакет обновления" + +msgid "Driver Installation for" +msgstr "Установка драйвера для" + +msgid "E-Mail" +msgstr "Электронная почта" + +msgid "Enable OpenGL optinization" +msgstr "Включим OpenGL ускорение" + +msgid "Error" +msgstr "Ошибка" + +msgid "Execute" +msgstr "Выполним" + +msgid "Execute in chroot environment" +msgstr "Выполним в chroot-окружении" + +msgid "Execute prelinking packages" +msgstr "Выполним предварительное связывание пакетов" + +msgid "Execute with parameter" +msgstr "Выполните с параметром" + +msgid "File not found" +msgstr "Не найден файл" + +msgid "File system" +msgstr "Файловая система" + +msgid "Finishing installation" +msgstr "Завершение установки" + +msgid "For continuation please remove directory" +msgstr "Для продолжения удалите директорию" + +msgid "" +"For installation, you must update the program. Run \"calculate --update\"" +msgstr "" +"Для установки вы должны обновить программу. Выполните \"calculate --update\"" + +msgid "For performance of operation it is necessary to configure system" +msgstr "Для выполнения операции необходимо сконфигурировать систему" + +msgid "For update system run \"calculate\" version" +msgstr "Для обновления системы, запустите \"calculate\" версии" + +msgid "Format" +msgstr "Отформатируем" + +msgid "Formatting a partition for the data" +msgstr "Форматирование раздела для данных" + +msgid "Formatting new volume" +msgstr "Отформатируем новый раздел" + +msgid "Formatting utility not found" +msgstr "Не найдена программа форматирования диска" + +msgid "Gateway" +msgstr "Шлюз" + +msgid "Get" +msgstr "Получим" + +msgid "Get available packages list" +msgstr "Считаем список доступных пакетов" + +msgid "Group is not specified" +msgstr "Не передана группа" + +msgid "Hard disks" +msgstr "Жесткие диски" + +msgid "Hardware" +msgstr "Оборудование" + +msgid "Incorrect partition" +msgstr "Неверно указан раздел" + +msgid "Incorrect path to program" +msgstr "Некорректный путь к программе" + +msgid "Incorrect variable name" +msgstr "Неверное имя переменной" + +msgid "Informative output" +msgstr "Информационный вывод" + +msgid "Input root password again" +msgstr "Введите пароль пользователя root снова" + +msgid "Input user guest password again" +msgstr "Введите пароль пользователя guest снова" + +msgid "Input user password guest to new distributive file" +msgstr "Введите пароль пользователя guest в новом дистрибутиве" + +msgid "Input user password root to new distributive file" +msgstr "Укажите пароль пользователя root для нового дистрибутива" + +msgid "Install the kernel" +msgstr "Установим ядро" + +msgid "Installation" +msgstr "Установка" + +msgid "Installation and Update" +msgstr "Установка и обновление" + +msgid "Installation of addition will begin through" +msgstr "Установка дополнения начнётся через" + +msgid "Installation profiles" +msgstr "Профили установки" + +msgid "Installation volume" +msgstr "Раздел для установки" + +msgid "Installation, compilation and updating of system" +msgstr "Установка, сборка и обновление системы" + +msgid "Installed system" +msgstr "Установлена система" + +msgid "Invalid profile" +msgstr "Неверно указан профиль" + +msgid "It is supported in systems of versions" +msgstr "Поддерживается в системах версий" + +msgid "Keymap" +msgstr "Раскладка" + +msgid "Language" +msgstr "Язык" + +msgid "Last available portage version" +msgstr "Последняя доступная версия портежей" + +msgid "Last available stage version" +msgstr "Последняя доступная версия stage" + +msgid "Latest update successfully installed" +msgstr "Последнее обновление успешно установлено" + +msgid "Location" +msgstr "Размещение" + +msgid "Login of the email user is not specified" +msgstr "Не передан логин почтового пользователя" + +msgid "Login of the user is not specified" +msgstr "Не передан логин пользователя" + +msgid "Machine hardware name" +msgstr "Тип оборудования машины" + +msgid "Make addition" +msgstr "Соберем дополнение" + +msgid "Make nvidia drivers" +msgstr "Соберём nvidia драйвера" + +msgid "Make system" +msgstr "Сборка системы" + +msgid "Mandatory arguments to long options are mandatory for short options too" +msgstr "Аргументы, обязательные для длинных ключей, обязательны и для коротких" + +msgid "Model" +msgstr "Модель" + +msgid "Motherboard" +msgstr "Материнская плата" + +msgid "Mount" +msgstr "Подмонтируем" + +msgid "Mounted disks" +msgstr "Монтируемые диски" + +msgid "Mounting ISO file" +msgstr "Подмонтируем ISO файл" + +msgid "Mounting installation valume failed" +msgstr "Не удалось подмонтировать раздел для установки" + +msgid "Mounting new volume" +msgstr "Подмонтируем новый раздел" + +msgid "Mounting squashfs filesystem" +msgstr "Подмонтируем файловую систему squashfs" + +msgid "Network devices" +msgstr "Сетевые устройства" + +msgid "Network services" +msgstr "Сетевые службы" + +msgid "New password" +msgstr "Новый пароль" + +msgid "New passwords do not match" +msgstr "Новые пароли не соответствуют" + +msgid "New release number" +msgstr "Номер нового релиза" + +msgid "No updates available" +msgstr "Нет доступных обновлений" + +msgid "Not defined variable" +msgstr "" + +msgid "OPTION" +msgstr "КЛЮЧ" + +msgid "On the disk is to mount partitions" +msgstr "На диске есть примонтированные разделы" + +msgid "One of the packages not match your architecture" +msgstr "Oдин из пакетов не подходит для вашей архитектуры" + +msgid "Only root can perform system installation" +msgstr "Установку системы может производить только пользователь root" + +msgid "Operation interrupted" +msgstr "Операция прервана" + +msgid "Package list incoming in distributive file" +msgstr "Список пакетов входящих дистрибутив" + +msgid "Package list incoming in the addition" +msgstr "Список пакетов входящих в дополнение" + +msgid "Packages addition" +msgstr "Пакеты обновления" + +msgid "Packing addition" +msgstr "Упакуем дополнение" + +msgid "Packing system into squashfs format" +msgstr "Упакуем систему в squashfs формат" + +msgid "Packing the distribution package into the archive file" +msgstr "Упакуем дистрибутив в архив образа" + +msgid "Parameters" +msgstr "Параметры" + +msgid "Password not entered" +msgstr "Пароль не введен" + +msgid "Perform calculate overlay update" +msgstr "Выполним обновление calculate overlay" + +msgid "Perform checkouts" +msgstr "Выполним проверки" + +msgid "Perform config files update" +msgstr "Выполним обновление конфигурационных файлов" + +msgid "Perform hard disk partition" +msgstr "Выполним разбиение диска" + +msgid "Perform installation" +msgstr "Выполним установку" + +msgid "Perform portages update" +msgstr "Выполним обновление портежей" + +msgid "Perform pre-install checkups" +msgstr "Выполним проверки перед установкой" + +msgid "Perform reboot" +msgstr "Выполним перезагрузку" + +msgid "Perform updates search" +msgstr "Выполним поиск обновлений" + +msgid "Please extract calculate archive and run from created directory" +msgstr "" +"Пожалуйста распакуйте пакет calculate и выполните из созданной директории" + +msgid "Please reboot" +msgstr "Перезагрузите компьютер" + +msgid "" +"Please revise dependences of the packages by your own  using flags " +"concealment of packages" +msgstr "" +"Пожалуйста исправьте зависимости пакетов самостоятельно, используя флаги " +"маскировки пакетов" + +msgid "Please specify installation volume" +msgstr "Укажите раздел для установки" + +msgid "Please unmount disk or specify another volume" +msgstr "Перед установкой отмонтируйте диск, либо укажите другой раздел" + +msgid "Prepare installation volume" +msgstr "Подготовим раздел для установки" + +msgid "Prepare system for packing" +msgstr "Подготовим систему к упаковке" + +msgid "Prepare system for reboot" +msgstr "Подготовим систему к перезагрузке" + +msgid "Press" +msgstr "Нажмите" + +msgid "Profile file" +msgstr "Файл профиля" + +msgid "Put a patch" +msgstr "Наложим патч" + +msgid "Quantity processors" +msgstr "Количество процессоров" + +msgid "Ready for packages installation" +msgstr "Теперь можно приступить к установке пакетов" + +msgid "Register kernel into boot loader" +msgstr "Пропишем ядро в автозагрузку" + +msgid "Remove the user from groups" +msgstr "Удалим пользователя из групп" + +msgid "Replace outdated configuration files" +msgstr "Заменим устаревшие конфигурационные файлы" + +msgid "Restore" +msgstr "Восстановим" + +msgid "Retype new password" +msgstr "Перепечатайте новый пароль" + +msgid "Run" +msgstr "Запустим" + +msgid "Save kernel config" +msgstr "Сохраним настройки ядра" + +msgid "Screen resolution" +msgstr "Разрешение экрана" + +msgid "Server is already adjusted" +msgstr "Сервер уже настроен" + +msgid "Set autostarting services" +msgstr "Пропишем сервисы в автозагрузку" + +msgid "Set up a Linux swap area" +msgstr "Создадим раздел Linux swap" + +msgid "Setup base structure of a LDAP server" +msgstr "Настроим базовую структуру LDAP-сервера" + +msgid "Setup server" +msgstr "Настройка сервера" + +msgid "Similarly for optional arguments" +msgstr "То же и для необязательных аргументов" + +msgid "Swap disk" +msgstr "Диск подкачки" + +msgid "System building" +msgstr "Сборка системы" + +msgid "System setup" +msgstr "Настроим систему" + +msgid "System will install over" +msgstr "Система начнет установку через" + +msgid "The archive with image of system is not found" +msgstr "Не найден архив с образом системы" + +msgid "The name of a server is incorrectly specified" +msgstr "Неверно указано имя сервера" + +msgid "The size of the disk is not defined" +msgstr "Размер диска не определен" + +msgid "" +"The size of the disk is not sufficient to perform automatic partitioning" +msgstr "Раздел диска недостаточен для выполнения автоматического разбиения" + +msgid "The system should be not below version" +msgstr "Система должна быть не ниже версии" + +msgid "" +"This is free software; see the source for copying conditions. There is NO " +"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." +msgstr "" +"Это свободная программа; подробности об условиях распространения смотритев " +"исходном тексте. Мы НЕ предоставляем гарантий; даже гарантий КОММЕРЧЕСКОЙ " +"ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ." + +msgid "Timezone" +msgstr "Часовой пояс" + +msgid "To apply changes you have to reboot" +msgstr "Для вступления изменений в силу компьютер следует перезагрузить" + +msgid "To continue сopy file" +msgstr "Для продолжения скопируйте файл" + +msgid "To set root password press" +msgstr "Для задания пароля root нажмите" + +msgid "Transfer Calculate to system" +msgstr "Перенесем Calculate в систему" + +msgid "Try" +msgstr "Попробуйте" + +msgid "Umount chroot-disk" +msgstr "Отмонтируем chroot-диск" + +msgid "Umount directories" +msgstr "Отмонтируем директории" + +msgid "Uninstall packages" +msgstr "Деинсталлируем пакеты" + +msgid "Unmount installed system volume" +msgstr "Отмонтируем раздел с установленной системой" + +msgid "Unmounting new volume" +msgstr "Отмонтируем новый раздел" + +msgid "Unpack" +msgstr "Распакуем" + +msgid "Unpack the package" +msgstr "Распакуйте пакет" + +msgid "Unpack the update" +msgstr "Распакуем обновление" + +msgid "Unpacking image failed" +msgstr "Не удалось распаковать образ" + +msgid "Unpacking system" +msgstr "Распакуем систему" + +msgid "Unpacking system image into new volume" +msgstr "Распакуем образ системы в новый раздел" + +msgid "Unrecognized option" +msgstr "Нераспознанный ключ" + +msgid "Update" +msgstr "Обновление" + +msgid "Update Clamav antivirus database" +msgstr "Обновим антивирусную базу Clamav" + +msgid "Update PCI IDs" +msgstr "Обновим базу PCI устройств" + +msgid "Update USB IDs" +msgstr "Обновим базу USB устройств" + +msgid "Update config" +msgstr "Обновим конфигурацию" + +msgid "Update found" +msgstr "Найдено обновление" + +msgid "Update lang translation file" +msgstr "Обновим файл переводов" + +msgid "Update module-rebuild database" +msgstr "Обновим базу модулей программы module-rebuild" + +msgid "Update modules" +msgstr "Обновим модули" + +msgid "Update portige base of eix programm" +msgstr "Обновим базу портежей программы eix" + +msgid "Updating" +msgstr "Обновление" + +msgid "Usage" +msgstr "Использование" + +msgid "Use value" +msgstr "Используйте значения" + +msgid "User" +msgstr "Пользователь" + +msgid "User is added to system" +msgstr "Пользователь добавлен в систему" + +msgid "User is removed from system" +msgstr "Пользователь удален из системы" + +msgid "Vendor" +msgstr "Поставщик" + +msgid "Videocard" +msgstr "Видеоадаптер" + +msgid "Volume for system building" +msgstr "Раздел для сборки системы" + +msgid "Volume formatting failed" +msgstr "Не удалось отформатировать раздел" + +msgid "Volume formatting will start through" +msgstr "Форматирование раздела начнётся через" + +msgid "Working volume" +msgstr "Рабочий раздел" + +msgid "Write the devices to autothread" +msgstr "Пропишем устройства в автозагрузку" + +msgid "Written by" +msgstr "Автор программы --" + +msgid "apply configuration profile (all - all profiles)" +msgstr "наложить профиль настроек (all - все профили)" + +msgid "backup data of working servers" +msgstr "резервное копирование данных с серверов" + +msgid "break the system building" +msgstr "прервать сборку системы" + +msgid "change a email account password" +msgstr "изменение пароля почтового ящика" + +msgid "change user password" +msgstr "изменение пароля пользователя" + +msgid "check of dependences" +msgstr "проверка зависимостей" + +msgid "config files parameters" +msgstr "параметры конфигурационных файлов" + +msgid "create a loaded iso-image of system" +msgstr "создать загружаемый iso-образ системы" + +msgid "create a new email account" +msgstr "создание нового почтового ящика" + +msgid "create a new email group" +msgstr "создание новой почтовой группы" + +msgid "create a new group" +msgstr "создание новой группы" + +msgid "create a new user account" +msgstr "создание новой учётной записи" + +msgid "created by installer" +msgstr "созданную установщиком" + +msgid "delete a email account" +msgstr "удаление почтового ящика" + +msgid "delete a email group" +msgstr "удаление почтовой группы" + +msgid "delete a group" +msgstr "удаление группы" + +msgid "delete a user account" +msgstr "удаление учётной записи" + +msgid "destination volume" +msgstr "рабочий раздел" + +msgid "display this help and exit" +msgstr "показать эту справку и выйти" + +msgid "do not prompt before overwriting" +msgstr "переписывать существующие файлы не спрашивая" + +msgid "done" +msgstr "выполнено" + +msgid "download and install latest update available" +msgstr "загрузить и установить последнее доступное обновление" + +msgid "error" +msgstr "ошибка" + +msgid "file" +msgstr "файл" + +msgid "file not found" +msgstr "не найден файл" + +msgid "for a print of all variables" +msgstr "для вывода всех переменных" + +msgid "for more information" +msgstr "для получения более подробного описания" + +msgid "installation or building system volume" +msgstr "раздел для установки или сборки системы" + +msgid "is already installed" +msgstr "уже установлено" + +msgid "make addition" +msgstr "соберём дополнение" + +msgid "make system" +msgstr "собрать систему" + +msgid "modify a group definition on the system" +msgstr "изменение определения группы в системе" + +msgid "mounted" +msgstr "примонтирован" + +msgid "not detected" +msgstr "не определён" + +msgid "not found" +msgstr "не найдены" + +msgid "not supported" +msgstr "не поддерживается" + +msgid "nvidia-drivers-173.XX.XX" +msgstr "" + +msgid "nvidia-drivers-96.XX.XX" +msgstr "" + +msgid "nvidia-drivers-last" +msgstr "" + +msgid "of" +msgstr "из" + +msgid "or value cannot be changed" +msgstr "или значение не может быть изменено" + +msgid "output version information and exit" +msgstr "показать информацию о версии и выйти" + +msgid "pack the distribution package into the archive file" +msgstr "упаковать дистрибутив в архив образа" + +msgid "packages" +msgstr "пакетов" + +msgid "pass" +msgstr "пропущено" + +msgid "perform updates only" +msgstr "выполнить только обновления" + +msgid "prepare system for building" +msgstr "подготовить систему к сборке" + +msgid "seconds" +msgstr "секунд" + +msgid "select operation system" +msgstr "выбор операционной системы" + +msgid "server" +msgstr "сервер" + +msgid "set config files parameter" +msgstr "установить параметр конфигурационных файлов" + +msgid "set config files parameter without check" +msgstr "установить параметр конфигурационных файлов без проверки" + +msgid "setup and run servers" +msgstr "настройка и запуск серверов" + +msgid "show hardware information" +msgstr "отобразить информацию об имеющемся оборудовании" + +msgid "show the package list incoming in the addition" +msgstr "показать список пакетов входящих в дополнение" + +msgid "show the package list incoming in the distributive file" +msgstr "показать список пакетов входящих дистрибутив" + +msgid "to cancel" +msgstr "для отмены" + +msgid "to directory" +msgstr "в директорию" + +msgid "to establish additions" +msgstr "установить дополнения" + +msgid "undefined" +msgstr "не определено" diff --git a/install/profile/1default/boot/grub/device.map b/install/profile/1default/boot/grub/device.map new file mode 100644 index 0000000..a4ed672 --- /dev/null +++ b/install/profile/1default/boot/grub/device.map @@ -0,0 +1 @@ +#-devicemap-# diff --git a/install/profile/1default/boot/grub/grub.conf?pass=install b/install/profile/1default/boot/grub/grub.conf?pass=install new file mode 100644 index 0000000..65a4092 --- /dev/null +++ b/install/profile/1default/boot/grub/grub.conf?pass=install @@ -0,0 +1,40 @@ +#-title-# + +timeout 5 +default 0 +fallback 1 +splashimage=(#-grubinstall-#)/boot/grub/calculate.xpm.gz + +#?system=desktop# +title #-calculatename-# #-march-# #-linuxver-# #-calculatesubname-# +#system# +#?system=server# +title #-calculatename-# #-linuxver-# #-march-# +#system# +root (#-grubinstall-#) +#?linuxver>=8.2&linuxver<8.8.2&system=desktop# +kernel /boot/vmlinuz root=#-root_install_set-# video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume#-grub_delay-# +#linuxver# +#?linuxver>=8.2&linuxver<8.8.2&system=server# +kernel /boot/vmlinuz root=#-root_install_set-# video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume doscsi#-grub_delay-# +#linuxver# +#?linuxver>=8.8.2&linuxver<8.11.2&system=desktop# +kernel /boot/vmlinuz root=#-root_install_set-# vga=0x317,ywrap,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume#-grub_delay-# +#linuxver# +#?linuxver>=8.8.2&linuxver<8.11.2&system=server# +kernel /boot/vmlinuz root=#-root_install_set-# vga=0x317,ywrap,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume doscsi#-grub_delay-# +#linuxver# +#?linuxver>=8.11.2&system=desktop# +kernel /boot/vmlinuz root=#-root_install_set-# video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet #-swap_resume-# doscsi#-grub_delay-# +#linuxver# +#?linuxver>=8.11.2&system=server# +kernel /boot/vmlinuz root=#-root_install_set-# video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet #-swap_resume-# elevator=deadline doscsi#-grub_delay-# +#linuxver# +initrd /boot/initrd +#-grub_another-# + +# Раскомментируйте, если у вас на диске C: установлен Windows +# title Microsoft Windows +# rootnoverify (hd0,0) +# chainloader +1 + diff --git a/install/profile/1default/etc/X11/xorg.conf b/install/profile/1default/etc/X11/xorg.conf new file mode 100644 index 0000000..6644a16 --- /dev/null +++ b/install/profile/1default/etc/X11/xorg.conf @@ -0,0 +1,105 @@ +#-title-# + +Section "ServerLayout" + Identifier "Xorg Configured" + Screen "Monitor" +EndSection + +Section "Files" + FontPath "/usr/share/fonts/corefonts" + FontPath "/usr/share/fonts/misc" + FontPath "/usr/share/fonts/droid" +EndSection + +Section "Module" + #?video_drv!=nvidia&video_drv!=vesa# + Load "dri" + #video_drv# + #?video_drv=intel# + Load "i2c" + Load "bitmap" + Load "ddc" + Load "int10" + Load "vbe" + #video_drv# + #?video_drv!=intel# + Load "dbe" # Double buffer extension + #video_drv# + Load "glx" # OpenGL X protocol interface + Load "extmod" # Misc. required extension +EndSection + +Section "Monitor" + Identifier "StandardMonitor" + #?video_drv=nvidia?video_drv=vesa# + HorizSync 31.5 - 60.0 + VertRefresh 60-160 + #video_drv# + Option "DPMS" +EndSection + +Section "Device" + Identifier "#-video_drv-#VGA" + BusID "PCI:#-video_id-#" + Driver "#-video_drv-#" + #?video_drv=nvidia# + Option "RenderAccel" "True" + Option "AllowGLXWithComposite" "True" + Option "NoLogo" "True" + Option "NvAgp" "1" + Option "DPI" "96x96" + #video_drv# + #?video_drv=fglrx# + Option "XAANoOffscreenPixmaps" "True" + Option "AllowGLXWithComposite" "True" + Option "RenderAccel" "True" + Option "AddARGBGLXVisuals" "True" + Option "TripleBuffer" "True" + Option "UseFBDev" "True" + #http://ru.gentoo-wiki.com/wiki/Fglrx + Option "VideoOverlay" "on" # устраняет сбой с mplayer + Option "TexturedVideo" "on" # устраняет сбой Xv + #video_drv# + #?video_drv=intel# + Option "NoAccel" "False" + Option "DRI" "True" + #video_drv# +EndSection + +Section "Screen" + Identifier "Monitor" + Device "#-video_drv-#VGA" + Monitor "StandardMonitor" + DefaultDepth 24 + Subsection "Display" + Viewport 0 0 + Depth 24 + #?video_resolution!=auto# + Modes "#-video_resolution-#" + #video_resolution# + EndSubsection +EndSection +#?video_drv!=nvidia&video_drv!=vesa&video_drv!=vmware&video_drv!=vboxvideo# + +Section "DRI" + Group "video" + Mode 0666 +EndSection +#video_drv# + +#?video_drv!=vesa&video_drv!=vmware&video_drv!=vboxvideo# +Section "Extensions" +#video_drv# +#?video_drv=fglrx# + Option "RENDER" "On" + Option "XVideo" "On" +#video_drv# +#?composite=on&video_drv!=vesa&video_drv!=vmware&video_drv!=vboxvideo# + Option "Composite" "On" +#composite# +#?composite!=on&video_drv!=vesa&video_drv!=vmware&video_drv!=vboxvideo# + Option "Composite" "Off" +#composite# +#?video_drv!=vesa&video_drv!=vmware&video_drv!=vboxvideo# +EndSection +#video_drv# diff --git a/install/profile/1default/etc/conf.d/fbcondecor b/install/profile/1default/etc/conf.d/fbcondecor new file mode 100644 index 0000000..d78f54f --- /dev/null +++ b/install/profile/1default/etc/conf.d/fbcondecor @@ -0,0 +1,8 @@ +#-title-# +# On which TTYs should fbcondecor be enabled? Defaults to RC_TTY_NUMBER. +FBCONDECOR_TTYS="1 2 3 4 5 6" + +# Allows to set different themes on different consoles +# format: ": : (...)" +FBCONDECOR_TTY_MAP="1:tty1 2:tty2 3:tty3 4:tty4 5:tty5 6:tty6" + diff --git a/install/profile/1default/etc/conf.d/gpm b/install/profile/1default/etc/conf.d/gpm new file mode 100644 index 0000000..0669655 --- /dev/null +++ b/install/profile/1default/etc/conf.d/gpm @@ -0,0 +1,4 @@ +#-title-# + +MOUSE=imps2 +MOUSEDEV=/dev/psaux diff --git a/install/profile/1default/etc/conf.d/hdparm b/install/profile/1default/etc/conf.d/hdparm new file mode 100644 index 0000000..282620d --- /dev/null +++ b/install/profile/1default/etc/conf.d/hdparm @@ -0,0 +1,5 @@ +#-title-# + +pata_all_args="-d1 -X69 -c1" +sata_all_args="" +all_args="" diff --git a/install/profile/1default/etc/conf.d/hostname b/install/profile/1default/etc/conf.d/hostname new file mode 100644 index 0000000..07b23c0 --- /dev/null +++ b/install/profile/1default/etc/conf.d/hostname @@ -0,0 +1,4 @@ +#-title-# + +HOSTNAME="#-hostname-#" + diff --git a/install/profile/1default/etc/conf.d/net?calculate=CDS b/install/profile/1default/etc/conf.d/net?calculate=CDS new file mode 100644 index 0000000..b2a4936 --- /dev/null +++ b/install/profile/1default/etc/conf.d/net?calculate=CDS @@ -0,0 +1,3 @@ +#-title-# +#-netconf-# + diff --git a/install/profile/1default/etc/conf.d/net?system=desktop&linuxver<=9.5 b/install/profile/1default/etc/conf.d/net?system=desktop&linuxver<=9.5 new file mode 100644 index 0000000..b2a4936 --- /dev/null +++ b/install/profile/1default/etc/conf.d/net?system=desktop&linuxver<=9.5 @@ -0,0 +1,3 @@ +#-title-# +#-netconf-# + diff --git a/install/profile/1default/etc/conf.d/splash b/install/profile/1default/etc/conf.d/splash new file mode 100644 index 0000000..abee3f1 --- /dev/null +++ b/install/profile/1default/etc/conf.d/splash @@ -0,0 +1,54 @@ +#-title-# +# Boot/reboot/shutdown message overrides. +# SPLASH_BOOT_MESSAGE="Booting the system (\$progress%)" +# SPLASH_REBOOT_MESSAGE="Rebooting the system (\$progress%)" +# SPLASH_SHUTDOWN_MESSAGE="Shutting the system down (\$progress%)" + +# Should we drop to verbose mode on initscript errors? (yes/no) +SPLASH_VERBOSE_ON_ERRORS="yes" + +# Which special effects should be used? +# This should be a comma separated list. Valid items: fadein, fadeout +#SPLASH_EFFECTS="fadein,fadeout" + +######################################################################### +# The options below affect settings which are normally specified on the +# kernel command line and are probably useful only in uncommon +# configurations. Note that the corresponding kernel command line +# settings will override any options set below. +######################################################################### + +# Save splash profile information during boot? If set to 'yes', a record +# of the boot-up sequence will be kept in /lib/splash/cache/profile. The +# profile file is useful for debugging purposes and for replaying the +# boot sequence with `splash_manager -c replay`. It might slightly slow +# down the boot, so don't activate it if you don't plan to use it. +# SPLASH_PROFILE="no" + +# Which console mode to use for the silent splash. Valid values are: +# text,graphics. If 'text' is selected, the splash tty will be treated +# just like any other tty by the kernel. With the 'graphics' option, +# the kernel will not touch the tty in any way. 'graphics' could be +# useful e.g. for preventing error messages from being displayed over +# the splash screen. Normally, this shouldn't be necessary. Use only +# as a last resort. +# SPLASH_KDMODE="text" + +# Which theme to use, probably best left commented out (the theme +# specified on the kernel command line is used). +# SPLASH_THEME="gentoo" + +# Which tty to use for the silent splash. If you change it, make sure +# the tty isn't used by something else (interactive console, X, etc). +# It's safest to leave it commented and let fbsplashd use the default +# value. +# SPLASH_TTY=16 + +# Which splash mode should be activated? Valid values are: +# - silent: silent and verbose modes +# - silentonly: silent mode only +# - verbose: verbose mode only +# If commented out, the mode requested on the command line will be +# used. +# SPLASH_MODE_REQ="silent" + diff --git a/install/profile/1default/etc/cron.hourly/clocksync b/install/profile/1default/etc/cron.hourly/clocksync new file mode 100755 index 0000000..a96a271 --- /dev/null +++ b/install/profile/1default/etc/cron.hourly/clocksync @@ -0,0 +1,4 @@ +#!/bin/sh +#-title-# +/usr/sbin/ntpdate -u #-ntp-# &>/dev/null + diff --git a/install/profile/1default/etc/eix-sync.conf b/install/profile/1default/etc/eix-sync.conf new file mode 100644 index 0000000..ad11404 --- /dev/null +++ b/install/profile/1default/etc/eix-sync.conf @@ -0,0 +1 @@ +calculate diff --git a/install/profile/1default/etc/fstab?pass=install&location!=ram b/install/profile/1default/etc/fstab?pass=install&location!=ram new file mode 100644 index 0000000..3827f4e --- /dev/null +++ b/install/profile/1default/etc/fstab?pass=install&location!=ram @@ -0,0 +1,9 @@ +#-title-# + +#-root_install_set-# / #-format-# noatime 0 2 +#-swapset-# + +proc /proc proc defaults 0 0 +shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 + +#-data_install_set-##-partitions_fdisk-# diff --git a/install/profile/1default/etc/hosts b/install/profile/1default/etc/hosts new file mode 100644 index 0000000..d2c8f14 --- /dev/null +++ b/install/profile/1default/etc/hosts @@ -0,0 +1,3 @@ +#-title-# + +127.0.0.1 #-hostname-#.#-domain-# #-hostname-# localhost diff --git a/install/profile/1default/etc/init.d/calculate?pass=install&removableinstall=off&location!=ram b/install/profile/1default/etc/init.d/calculate?pass=install&removableinstall=off&location!=ram new file mode 100755 index 0000000..7d4a7f0 --- /dev/null +++ b/install/profile/1default/etc/init.d/calculate?pass=install&removableinstall=off&location!=ram @@ -0,0 +1,38 @@ +#!/sbin/runscript +#-title-# + +depend() { +#?linuxver>=9.4.3# + need localmount root fsck modules keymaps consolefont +#linuxver# +#?linuxver<9.4.3# + need localmount checkroot checkfs modules keymaps consolefont +#linuxver# +} + +start() { + LANG=C /usr/calculate/install/calculate --video + /usr/sbin/env-update + source /etc/profile + /sbin/update-modules + /sbin/rc-update --update + + #?system=desktop# + #-run_opengl-# + #-run_user-# + #system# + LANG=C /usr/calculate/install/calculate --initrd + #поддержка flash для x86_64 + if [ -e /usr/lib32/nsbrowser/plugins/libflashplayer.so ] + then + /usr/bin/nspluginwrapper -v -i /usr/lib32/nsbrowser/plugins/libflashplayer.so &>/dev/null && /usr/bin/nspluginwrapper -a + fi +} + +stop() { + rc-update del calculate boot +} + +#restart() { + +#} diff --git a/install/profile/1default/etc/init.d/calculate?pass=install&removableinstall=on&location!=ram b/install/profile/1default/etc/init.d/calculate?pass=install&removableinstall=on&location!=ram new file mode 100755 index 0000000..d719a39 --- /dev/null +++ b/install/profile/1default/etc/init.d/calculate?pass=install&removableinstall=on&location!=ram @@ -0,0 +1,48 @@ +#!/sbin/runscript +#-title-# + +depend() { +#?linuxver>=9.4.3# + need localmount root fsck modules keymaps consolefont +#linuxver# +#?linuxver<9.4.3# + need localmount checkroot checkfs modules keymaps consolefont +#linuxver# +} + +start() { + /bin/rm -f /etc/udev/rules.d/70-persistent-net.rules + LANG=C /usr/calculate/install/calculate --video + LANG=C /usr/calculate/install/calculate -P 1default + + #выполним действия при первой загрузке + if [ ! -e /var/log/calculate/run ] + then + #?system=desktop# + #-run_opengl-# + #-run_user-# + #system# + LANG=C /usr/calculate/install/calculate --initrd + + #поддержка flash для x86_64 + if [ -e /usr/lib32/nsbrowser/plugins/libflashplayer.so ] + then + /usr/bin/nspluginwrapper -v -i /usr/lib32/nsbrowser/plugins/libflashplayer.so &>/dev/null && /usr/bin/nspluginwrapper -a + fi + fi + + /usr/sbin/env-update + source /etc/profile + /sbin/update-modules + /sbin/rc-update --update + + /bin/touch /var/log/calculate/run +} + +#stop() { + +#} + +#restart() { + +#} diff --git a/install/profile/1default/etc/init.d/net.ath0?net_ath0=on&linuxver<=9.5 b/install/profile/1default/etc/init.d/net.ath0?net_ath0=on&linuxver<=9.5 new file mode 120000 index 0000000..46dbbaf --- /dev/null +++ b/install/profile/1default/etc/init.d/net.ath0?net_ath0=on&linuxver<=9.5 @@ -0,0 +1 @@ +/etc/init.d/net.lo \ No newline at end of file diff --git a/install/profile/1default/etc/init.d/net.eth0?net_eth0=on&calculate=CDS b/install/profile/1default/etc/init.d/net.eth0?net_eth0=on&calculate=CDS new file mode 120000 index 0000000..46dbbaf --- /dev/null +++ b/install/profile/1default/etc/init.d/net.eth0?net_eth0=on&calculate=CDS @@ -0,0 +1 @@ +/etc/init.d/net.lo \ No newline at end of file diff --git a/install/profile/1default/etc/init.d/net.eth0?net_eth0=on&calculate=CLD&linuxver<=9.5 b/install/profile/1default/etc/init.d/net.eth0?net_eth0=on&calculate=CLD&linuxver<=9.5 new file mode 120000 index 0000000..46dbbaf --- /dev/null +++ b/install/profile/1default/etc/init.d/net.eth0?net_eth0=on&calculate=CLD&linuxver<=9.5 @@ -0,0 +1 @@ +/etc/init.d/net.lo \ No newline at end of file diff --git a/install/profile/1default/etc/init.d/net.eth1?net_eth1=on&calculate=CDS b/install/profile/1default/etc/init.d/net.eth1?net_eth1=on&calculate=CDS new file mode 120000 index 0000000..46dbbaf --- /dev/null +++ b/install/profile/1default/etc/init.d/net.eth1?net_eth1=on&calculate=CDS @@ -0,0 +1 @@ +/etc/init.d/net.lo \ No newline at end of file diff --git a/install/profile/1default/etc/init.d/net.eth1?net_eth1=on&calculate=CLD&linuxver<=9.5 b/install/profile/1default/etc/init.d/net.eth1?net_eth1=on&calculate=CLD&linuxver<=9.5 new file mode 120000 index 0000000..46dbbaf --- /dev/null +++ b/install/profile/1default/etc/init.d/net.eth1?net_eth1=on&calculate=CLD&linuxver<=9.5 @@ -0,0 +1 @@ +/etc/init.d/net.lo \ No newline at end of file diff --git a/install/profile/1default/etc/init.d/net.eth2?net_eth2=on&calculate=CDS b/install/profile/1default/etc/init.d/net.eth2?net_eth2=on&calculate=CDS new file mode 120000 index 0000000..46dbbaf --- /dev/null +++ b/install/profile/1default/etc/init.d/net.eth2?net_eth2=on&calculate=CDS @@ -0,0 +1 @@ +/etc/init.d/net.lo \ No newline at end of file diff --git a/install/profile/1default/etc/init.d/net.eth3?net_eth3=on&calculate=CDS b/install/profile/1default/etc/init.d/net.eth3?net_eth3=on&calculate=CDS new file mode 120000 index 0000000..46dbbaf --- /dev/null +++ b/install/profile/1default/etc/init.d/net.eth3?net_eth3=on&calculate=CDS @@ -0,0 +1 @@ +/etc/init.d/net.lo \ No newline at end of file diff --git a/install/profile/1default/etc/init.d/net.wlan0?net_wlan0=on&linuxver<=9.5 b/install/profile/1default/etc/init.d/net.wlan0?net_wlan0=on&linuxver<=9.5 new file mode 120000 index 0000000..46dbbaf --- /dev/null +++ b/install/profile/1default/etc/init.d/net.wlan0?net_wlan0=on&linuxver<=9.5 @@ -0,0 +1 @@ +/etc/init.d/net.lo \ No newline at end of file diff --git a/install/profile/1default/etc/issue b/install/profile/1default/etc/issue new file mode 100644 index 0000000..6f0ac80 --- /dev/null +++ b/install/profile/1default/etc/issue @@ -0,0 +1,8 @@ + +#?pass=install# +Welcome to \n.\O (#-calculatename-# #-linuxver-#) +#pass# +#?pass!=install# +Welcome to \n.\O (#-calculatename-# #-linuxver-##-ospatchsplit-##-ospatch-#) +#pass# + diff --git a/install/profile/1default/etc/layman/~layman.cfg b/install/profile/1default/etc/layman/~layman.cfg new file mode 100644 index 0000000..e74c8f1 --- /dev/null +++ b/install/profile/1default/etc/layman/~layman.cfg @@ -0,0 +1,3 @@ +[MAIN] +overlays : http://www.gentoo.org/proj/en/overlays/layman-global.txt\n\thttp://svn.calculate.ru/overlay/layman-calculate.txt + diff --git a/install/profile/1default/etc/modprobe.d/saa7134 b/install/profile/1default/etc/modprobe.d/saa7134 new file mode 120000 index 0000000..ea61ef5 --- /dev/null +++ b/install/profile/1default/etc/modprobe.d/saa7134 @@ -0,0 +1 @@ +/etc/modules.d/saa7134 \ No newline at end of file diff --git a/install/profile/1default/etc/modules.d/saa7134 b/install/profile/1default/etc/modules.d/saa7134 new file mode 100644 index 0000000..ca988a6 --- /dev/null +++ b/install/profile/1default/etc/modules.d/saa7134 @@ -0,0 +1,7 @@ +#-title-# +alias char-major-81 videodev +alias char-major-81-0 saa7134 +options saa7134 card=102 tuner=38 secam=dk i2c_scan=1 alsa=1 +options tuner secam=d +options tda9887 port2=0 port1=1 + diff --git a/install/profile/1default/etc/mtab?pass=install b/install/profile/1default/etc/mtab?pass=install new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/install/profile/1default/etc/mtab?pass=install @@ -0,0 +1 @@ + diff --git a/install/profile/1default/etc/runlevels/boot/calculate?pass=install&location!=ram b/install/profile/1default/etc/runlevels/boot/calculate?pass=install&location!=ram new file mode 120000 index 0000000..beb36a5 --- /dev/null +++ b/install/profile/1default/etc/runlevels/boot/calculate?pass=install&location!=ram @@ -0,0 +1 @@ +/etc/init.d/calculate \ No newline at end of file diff --git a/install/profile/1default/etc/runlevels/boot/syslog-ng b/install/profile/1default/etc/runlevels/boot/syslog-ng new file mode 120000 index 0000000..83ec2ac --- /dev/null +++ b/install/profile/1default/etc/runlevels/boot/syslog-ng @@ -0,0 +1 @@ +/etc/init.d/syslog-ng \ No newline at end of file diff --git a/install/profile/1default/etc/runlevels/default/dbus b/install/profile/1default/etc/runlevels/default/dbus new file mode 120000 index 0000000..a9e632a --- /dev/null +++ b/install/profile/1default/etc/runlevels/default/dbus @@ -0,0 +1 @@ +/etc/init.d/dbus \ No newline at end of file diff --git a/install/profile/1default/etc/runlevels/default/hald b/install/profile/1default/etc/runlevels/default/hald new file mode 120000 index 0000000..722cc9d --- /dev/null +++ b/install/profile/1default/etc/runlevels/default/hald @@ -0,0 +1 @@ +/etc/init.d/hald \ No newline at end of file diff --git a/install/profile/1default/etc/runlevels/default/hdparm b/install/profile/1default/etc/runlevels/default/hdparm new file mode 120000 index 0000000..bb73a94 --- /dev/null +++ b/install/profile/1default/etc/runlevels/default/hdparm @@ -0,0 +1 @@ +/etc/init.d/hdparm \ No newline at end of file diff --git a/install/profile/1default/etc/runlevels/default/numlock?laptop!= b/install/profile/1default/etc/runlevels/default/numlock?laptop!= new file mode 120000 index 0000000..e292a27 --- /dev/null +++ b/install/profile/1default/etc/runlevels/default/numlock?laptop!= @@ -0,0 +1 @@ +/etc/init.d/numlock \ No newline at end of file diff --git a/install/profile/1default/etc/runlevels/default/sshd?location!=ram b/install/profile/1default/etc/runlevels/default/sshd?location!=ram new file mode 120000 index 0000000..b969430 --- /dev/null +++ b/install/profile/1default/etc/runlevels/default/sshd?location!=ram @@ -0,0 +1 @@ +/etc/init.d/sshd \ No newline at end of file diff --git a/install/profile/1default/etc/runlevels/default/vixie-cron b/install/profile/1default/etc/runlevels/default/vixie-cron new file mode 120000 index 0000000..708aa03 --- /dev/null +++ b/install/profile/1default/etc/runlevels/default/vixie-cron @@ -0,0 +1 @@ +/etc/init.d/vixie-cron \ No newline at end of file diff --git a/install/profile/1default/etc/ssh/ssh_config b/install/profile/1default/etc/ssh/ssh_config new file mode 100644 index 0000000..a4942a8 --- /dev/null +++ b/install/profile/1default/etc/ssh/ssh_config @@ -0,0 +1,4 @@ +#-title-# + +SendEnv LANG LC_* + diff --git a/install/profile/1default/etc/ssh/sshd_config b/install/profile/1default/etc/ssh/sshd_config new file mode 100644 index 0000000..9145382 --- /dev/null +++ b/install/profile/1default/etc/ssh/sshd_config @@ -0,0 +1,15 @@ +#-title-# + +Protocol 2 +PasswordAuthentication no +UsePAM yes +X11Forwarding yes +#?march=i686# +Subsystem sftp /usr/lib/misc/sftp-server +#march# +#?march=x86_64# +Subsystem sftp /usr/lib64/misc/sftp-server +#march# +AllowUsers root +AcceptEnv LANG LC_* + diff --git a/install/profile/1default/etc/sudoers?pass=install b/install/profile/1default/etc/sudoers?pass=install new file mode 100644 index 0000000..030ae0d --- /dev/null +++ b/install/profile/1default/etc/sudoers?pass=install @@ -0,0 +1,3 @@ +Defaults env_reset +root ALL=(ALL) ALL +%vboxusers ALL=NOPASSWD:/sbin/modprobe vboxdrv diff --git a/install/profile/1default/etc/wgetrc b/install/profile/1default/etc/wgetrc new file mode 100644 index 0000000..68cbe53 --- /dev/null +++ b/install/profile/1default/etc/wgetrc @@ -0,0 +1,7 @@ +#-title-# + +passive_ftp = on +waitretry = 10 +http_proxy = #-http_proxy-# +ftp_proxy = #-http_proxy-# +use_proxy = #-useproxy-# diff --git a/install/profile/1default/etc/~make.conf b/install/profile/1default/etc/~make.conf new file mode 100644 index 0000000..5dfbd62 --- /dev/null +++ b/install/profile/1default/etc/~make.conf @@ -0,0 +1,3 @@ +PORTDIR_OVERLAY= +source /usr/local/portage/layman/make.conf + diff --git a/install/profile/1default/root/.bash_profile?load=ram b/install/profile/1default/root/.bash_profile?load=ram new file mode 100644 index 0000000..389206a --- /dev/null +++ b/install/profile/1default/root/.bash_profile?load=ram @@ -0,0 +1,5 @@ +#-title-# + +alias cfdisk="LANG=C cfdisk" +HOME="/root" +LOGNAME="root" diff --git a/install/profile/1default/usr/local/bin/livecd.sh b/install/profile/1default/usr/local/bin/livecd.sh new file mode 100755 index 0000000..c7d27ca --- /dev/null +++ b/install/profile/1default/usr/local/bin/livecd.sh @@ -0,0 +1,16 @@ +#!/bin/bash +#-title-# + +#?system=desktop# +##-run_opengl-# +#system# + +# change /etc/init.d/sshd for pervent starting sshd with default root password +sed -r -i '/start\(\)/{:a N;/passwd \|\| return 1/b;/checkconfig/!ba;s/\n\t+checkconfig/\ + if grep "root:\\\$1\\\$JMvNh5xg\\\$VnV1DyJdTcwuZ0hp5YiJG0:14349:0:::::" \/etc\/shadow >\/dev\/null;\ + then\ + passwd || return 1\ + fi\ +\ + checkconfig/ +}' /etc/init.d/sshd diff --git a/install/profile/2locale/etc/conf.d/clock?linuxver<9.4.3 b/install/profile/2locale/etc/conf.d/clock?linuxver<9.4.3 new file mode 100644 index 0000000..8189e95 --- /dev/null +++ b/install/profile/2locale/etc/conf.d/clock?linuxver<9.4.3 @@ -0,0 +1,8 @@ +#-title-# + +CLOCK="#-clock-#" +TIMEZONE="#-timezone-#" +CLOCK_OPTS="" +CLOCK_SYSTOHC="yes" +SRM="no" +ARC="no" diff --git a/install/profile/2locale/etc/conf.d/consolefont b/install/profile/2locale/etc/conf.d/consolefont new file mode 100644 index 0000000..8c7e6b3 --- /dev/null +++ b/install/profile/2locale/etc/conf.d/consolefont @@ -0,0 +1,3 @@ +#-title-# + +CONSOLEFONT="#-consolefont-#" diff --git a/install/profile/2locale/etc/conf.d/hwclock b/install/profile/2locale/etc/conf.d/hwclock new file mode 100644 index 0000000..dbf533b --- /dev/null +++ b/install/profile/2locale/etc/conf.d/hwclock @@ -0,0 +1,15 @@ +#-title-# +# Set CLOCK to "UTC" if your system clock is set to UTC (also known as +# Greenwich Mean Time). If your clock is set to the local time, then +# set CLOCK to "local". Note that if you dual boot with Windows, then +# you should set it to "local". +clock="#-clock-#" + +# If you want to set the Hardware Clock to the current System Time +# during shutdown, then say "YES" here. +# You normally don't need to do this if you run a ntp daemon. +clock_systohc="YES" + +# If you wish to pass any other arguments to hwclock during bootup, +# you may do so here. Alpha users may wish to use --arc or --srm here. +clock_args="" diff --git a/install/profile/2locale/etc/conf.d/keymaps b/install/profile/2locale/etc/conf.d/keymaps new file mode 100644 index 0000000..6a48fc4 --- /dev/null +++ b/install/profile/2locale/etc/conf.d/keymaps @@ -0,0 +1,6 @@ +#-title-# + +KEYMAP="#-keymap-#" +SET_WINDOWKEYS="yes" +EXTENDED_KEYMAPS="" +DUMPKEYS_CHARSET="#-dumpkeys_charset-#" diff --git a/install/profile/2locale/etc/env.d/02locale b/install/profile/2locale/etc/env.d/02locale new file mode 100644 index 0000000..c0b3ac3 --- /dev/null +++ b/install/profile/2locale/etc/env.d/02locale @@ -0,0 +1,5 @@ +#-title-# + +LANG="#-locale-#" +LC_NUMERIC=POSIX + diff --git a/install/profile/2locale/etc/motd?pass=install b/install/profile/2locale/etc/motd?pass=install new file mode 100644 index 0000000..e69de29 diff --git a/install/profile/2locale/etc/motd?pass=profile&load=ram&language!=ru b/install/profile/2locale/etc/motd?pass=profile&load=ram&language!=ru new file mode 100644 index 0000000..4abf57c --- /dev/null +++ b/install/profile/2locale/etc/motd?pass=profile&load=ram&language!=ru @@ -0,0 +1,24 @@ +Welcome to the #-calculatename-# Installation CD! + +If any ethernet adapters were detected at boot, they should be auto-configured +if DHCP is available on your network. +#?system=server# +Type "net-setup eth0" to specify eth0 IP address settings by hand. +#system# +#?system=desktop# +Type "wicd-curses" to specify eth0 IP address settings by hand. +#system# + +The latest version of the Handbook is always available from the Calculate Linux +web site by typing "links http://www.calculate-linux.org/handbook". + +To start an ssh server on this system, type "/etc/init.d/sshd start". + +#?system=server# +For technical support, type "irc". +#system# +#?system=desktop# +Please report any bugs you find to http://irc.calculate-linux.org. +#system# + +Thank you for using Calculate Linux! diff --git a/install/profile/2locale/etc/motd?pass=profile&load=ram&language=ru b/install/profile/2locale/etc/motd?pass=profile&load=ram&language=ru new file mode 100644 index 0000000..d987464 --- /dev/null +++ b/install/profile/2locale/etc/motd?pass=profile&load=ram&language=ru @@ -0,0 +1,25 @@ +Добро πожаловать в установочный диск #-calculatename-#! + +Если какой-либо из сетевых адаπтеров был обнаружен πри загрузке, он будет +автоматически сконфигурирован, если в сети достуπен DHCP сервер. +#?system=server# +Выπолните "net-setup eth0" для указания сетевой карты и IP адреса вручную. +#system# +#?system=desktop# +Выполните "wicd-curses" для указания сетевой карты и IP адреса вручную. +#system# + +Последняя версия руководства всегда достуπна на веб-сайте Calculate Linux. +Выπолните "links http://www.calculate-linux.ru/handbook" для πросмотра. + +Для заπуска ssh сервера в системе, выπолните "/etc/init.d/sshd start". + +#?system=server# +Для πолучения технической πоддержки, выπолните "irc". +#system# +#?system=desktop# +Пожалуйста сообщайте о любых найденных ошибках на +http://irc.calculate-linux.org. +#system# + +Сπасибо за исπользование Calculate Linux! diff --git a/install/profile/2locale/etc/timezone b/install/profile/2locale/etc/timezone new file mode 100644 index 0000000..e00d4ac --- /dev/null +++ b/install/profile/2locale/etc/timezone @@ -0,0 +1 @@ +#-timezone-# \ No newline at end of file diff --git a/install/profile/2locale/usr/lib/mozilla-firefox/defaults/preferences/firefox-l10n.js?linuxver>=8.9&system=desktop b/install/profile/2locale/usr/lib/mozilla-firefox/defaults/preferences/firefox-l10n.js?linuxver>=8.9&system=desktop new file mode 100644 index 0000000..2bdca9e --- /dev/null +++ b/install/profile/2locale/usr/lib/mozilla-firefox/defaults/preferences/firefox-l10n.js?linuxver>=8.9&system=desktop @@ -0,0 +1 @@ +pref("general.useragent.locale", "#-language-#"); diff --git a/install/profile/3patch/etc/mc/^mc.menu?pass=install b/install/profile/3patch/etc/mc/^mc.menu?pass=install new file mode 100644 index 0000000..2330d31 --- /dev/null +++ b/install/profile/3patch/etc/mc/^mc.menu?pass=install @@ -0,0 +1,9 @@ + +z Compress the current subdirectory (tar.7z) + Pwd=`basename %d /` + echo -n "Name of the compressed file (without extension) [$Pwd]: " + read tar + if [ "$tar"x = x ]; then tar="$Pwd"; fi + cd .. && \ + tar cf - "$Pwd" | 7z a -si "$tar.tar.7z" && \ + echo "../$tar.tar.7z created." diff --git a/install/profile/5compatible/etc/default/grub b/install/profile/5compatible/etc/default/grub new file mode 100644 index 0000000..82ec328 --- /dev/null +++ b/install/profile/5compatible/etc/default/grub @@ -0,0 +1,3 @@ +# поддержка uuid (для установки на USB диск) +GRUB_DISABLE_LINUX_UUID=true + diff --git a/install/profile/5compatible/etc/hal/fdi/policy/ntfs-3g.fdi b/install/profile/5compatible/etc/hal/fdi/policy/ntfs-3g.fdi new file mode 100644 index 0000000..9440989 --- /dev/null +++ b/install/profile/5compatible/etc/hal/fdi/policy/ntfs-3g.fdi @@ -0,0 +1,10 @@ + + + + +ntfs-3g +ntfs-3g + + + + diff --git a/install/profile/5compatible/etc/init.d/device-mapper?linuxver>9.4.3&linuxver<=9.5 b/install/profile/5compatible/etc/init.d/device-mapper?linuxver>9.4.3&linuxver<=9.5 new file mode 100755 index 0000000..ec166b4 --- /dev/null +++ b/install/profile/5compatible/etc/init.d/device-mapper?linuxver>9.4.3&linuxver<=9.5 @@ -0,0 +1,26 @@ +#!/sbin/runscript +#-title-# +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/device-mapper/files/device-mapper.rc-1.02.22-r3,v 1.8 2008/12/18 21:52:25 cardoe Exp $ + +depend() { + # necessary for services when using baselayout-2 + # but conflict for baselayout-1 + if [ -e /etc/init.d/root ] ; then + after modules + before checkfs fsck + fi +} + +start() { + if [ ! -e /etc/init.d/root ] ; then + eerror "The ${SVCNAME} init script is written for baselayout-2" + eerror "Please do not use it with baselayout-1" + return 1 + fi + + #start_addon dm + source /lib/rcscripts/addons/dm-start.sh +} + diff --git a/install/profile/5compatible/etc/man.conf?language=ru b/install/profile/5compatible/etc/man.conf?language=ru new file mode 100644 index 0000000..fbc1cf0 --- /dev/null +++ b/install/profile/5compatible/etc/man.conf?language=ru @@ -0,0 +1,149 @@ +#-title-# +# +# man.conf from man-1.6e +# +# For more information about this file, see the man pages man(1) +# and man.conf(5). +# +# This file is read by man to configure the default manpath (also used +# when MANPATH contains an empty substring), to find out where the cat +# pages corresponding to given man pages should be stored, +# and to map each PATH element to a manpath element. +# It may also record the pathname of the man binary. [This is unused.] +# The format is: +# +# MANBIN pathname +# MANPATH manpath_element [corresponding_catdir] +# MANPATH_MAP path_element manpath_element +# +# If no catdir is given, it is assumed to be equal to the mandir +# (so that this dir has both man1 etc. and cat1 etc. subdirs). +# This is the traditional Unix setup. +# Certain versions of the FSSTND recommend putting formatted versions +# of /usr/.../man/manx/page.x into /var/catman/.../catx/page.x. +# The keyword FSSTND will cause this behaviour. +# Certain versions of the FHS recommend putting formatted versions of +# /usr/.../share/man/[locale/]manx/page.x into +# /var/cache/man/.../[locale/]catx/page.x. +# The keyword FHS will cause this behaviour (and overrides FSSTND). +# Explicitly given catdirs override. +# +# FSSTND +FHS +# +# This file is also read by man in order to find how to call nroff, less, etc., +# and to determine the correspondence between extensions and decompressors. +# +# MANBIN /usr/local/bin/man +# +# Every automatically generated MANPATH includes these fields +# +MANPATH /usr/share/man +MANPATH /usr/local/share/man +MANPATH /usr/X11R6/man +MANPATH /usr/local/man +MANPATH /usr/man +# +# Uncomment if you want to include one of these by default +# +# MANPATH /opt/*/man +# MANPATH /usr/lib/*/man +# MANPATH /usr/share/*/man +# MANPATH /usr/kerberos/man +# +# Set up PATH to MANPATH mapping +# +# If people ask for "man foo" and have "/dir/bin/foo" in their PATH +# and the docs are found in "/dir/man", then no mapping is required. +# +# The below mappings are superfluous when the right hand side is +# in the mandatory manpath already, but will keep man from statting +# lots of other nearby files and directories. +# +MANPATH_MAP /bin /usr/share/man +MANPATH_MAP /sbin /usr/share/man +MANPATH_MAP /usr/bin /usr/share/man +MANPATH_MAP /usr/sbin /usr/share/man +MANPATH_MAP /usr/local/bin /usr/local/share/man +MANPATH_MAP /usr/local/sbin /usr/local/share/man +MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man +MANPATH_MAP /usr/bin/X11 /usr/X11R6/man +MANPATH_MAP /usr/bin/mh /usr/share/man +# +# NOAUTOPATH keeps man from automatically adding directories that look like +# manual page directories to the path. +# +#NOAUTOPATH +# +# NOCACHE keeps man from creating cache pages ("cat pages") +# (generally one enables/disable cat page creation by creating/deleting +# the directory they would live in - man never does mkdir) +# +#NOCACHE +# +# Useful paths - note that COL should not be defined when +# NROFF is defined as "groff -Tascii" or "groff -Tlatin1"; +# not only is it superfluous, but it actually damages the output. +# For use with utf-8, NROFF should be "nroff -mandoc" without -T option. +# (Maybe - but today I need -Tlatin1 to prevent double conversion to utf8.) +# +# If you have a new troff (version 1.18.1?) and its colored output +# causes problems, add the -c option to TROFF, NROFF, JNROFF. +# +TROFF /usr/bin/groff -Tps -mandoc +#NROFF /usr/bin/nroff -Tascii -c -mandoc +#?calculate=CLD&linuxver<=9.5# +NROFF /usr/bin/nroff -mandoc -Tlatin1 -c | iconv -f koi8-r +#calculate# +#?system=desktop&linuxver>9.5# +NROFF /usr/bin/enconv -L ru -x KOI8-R | /usr/bin/nroff -mandoc -Tlatin1 -c | iconv -f koi8-r +#system# +#?calculate=CDS&linuxver>=9.5# +NROFF /usr/bin/enconv -L ru -x KOI8-R | /usr/bin/nroff -mandoc -Tlatin1 -c | iconv -f koi8-r +#calculate# +JNROFF /usr/bin/groff -Tnippon -mandocj +EQN /usr/bin/geqn -Tps +NEQN /usr/bin/geqn -Tlatin1 +JNEQN /usr/bin/geqn -Tnippon +TBL /usr/bin/gtbl +# COL /usr/bin/col +REFER /usr/bin/refer +PIC /usr/bin/pic +VGRIND +GRAP +PAGER /usr/bin/less -is +BROWSER /usr/bin/less -is +HTMLPAGER /bin/cat +CAT /bin/cat +# +# The command "man -a xyzzy" will show all man pages for xyzzy. +# When CMP is defined man will try to avoid showing the same +# text twice. (But compressed pages compare unequal.) +# +CMP /usr/bin/cmp -s +# +# Compress cat pages +# +COMPRESS /bin/bzip2 +COMPRESS_EXT .bz2 +# +# Default manual sections (and order) to search if -S is not specified +# and the MANSECT environment variable is not set. +# +MANSECT 1:1p:8:2:3:3p:4:5:6:7:9:0p:tcl:n:l:p:o:1x:2x:3x:4x:5x:6x:7x:8x +# +# Default options to use when man is invoked without options +# This is mainly for the benefit of those that think -a should be the default +# Note that some systems have /usr/man/allman, causing pages to be shown twice. +# +#MANDEFOPTIONS -a +# +# Decompress with given decompressor when input file has given extension +# The command given must act as a filter. +# +.gz /bin/gunzip -c +.bz2 /bin/bzip2 -c -d +.z +.Z /bin/zcat +.F +.Y diff --git a/install/profile/5compatible/sbin/mount.ntfs-3g b/install/profile/5compatible/sbin/mount.ntfs-3g new file mode 100755 index 0000000..3093f1b --- /dev/null +++ b/install/profile/5compatible/sbin/mount.ntfs-3g @@ -0,0 +1,5 @@ +#!/bin/bash +#-title-# + +/bin/ntfs-3g -o locale=ru_RU.UTF-8,force,rw $1 $2 + diff --git a/install/profile/6desktop/etc/conf.d/slmodem b/install/profile/6desktop/etc/conf.d/slmodem new file mode 100644 index 0000000..6e5c1ec --- /dev/null +++ b/install/profile/6desktop/etc/conf.d/slmodem @@ -0,0 +1,37 @@ +#-title-# + +DEV=/dev/ttySL0 +COUNTRY=RUSSIA +GROUP=dialout +# the group should be kept in sync with: +# /etc/devfs.d/slmodem (devfs) +# /etc/udev/rules.d/55-slmodem.rules (udev) + +# The following symlink will be created if uncommented +LN_DEV=/dev/modem + +# Raise priority to reduce modem dropouts +NICE=-6 + +# ALSA Options: + +# The following sets the ALSA (alsasound) init script to +# be a dependancy of the slmodem one. It does also provides +# ALSA support. +MODULE=alsa + +# The modem hardware slot +# use "modem:0", "modem:1", etc. +# usually modem:1 is used +HW_SLOT=modem:0 + +# Non-ALSA OPTIONS: + +# MODULE=slamr +# or +# MODULE=slusb + +# Include extra slmodemd options here: +# -r = enables ring detection (needed for Hylafax faxgetty to answer) +# -l 5 = Logging Level +SLMODEM_OPTS="" diff --git a/install/profile/6desktop/etc/env.d/99editor b/install/profile/6desktop/etc/env.d/99editor new file mode 100644 index 0000000..8e45df2 --- /dev/null +++ b/install/profile/6desktop/etc/env.d/99editor @@ -0,0 +1,2 @@ +#-title-# +EDITOR="/usr/bin/vim" diff --git a/install/profile/6desktop/etc/runlevels/boot/wicd b/install/profile/6desktop/etc/runlevels/boot/wicd new file mode 120000 index 0000000..1a7e798 --- /dev/null +++ b/install/profile/6desktop/etc/runlevels/boot/wicd @@ -0,0 +1 @@ +/etc/init.d/wicd \ No newline at end of file diff --git a/install/profile/6desktop/etc/runlevels/default/bluetooth?usb_bluetooth=yes b/install/profile/6desktop/etc/runlevels/default/bluetooth?usb_bluetooth=yes new file mode 120000 index 0000000..bc656fb --- /dev/null +++ b/install/profile/6desktop/etc/runlevels/default/bluetooth?usb_bluetooth=yes @@ -0,0 +1 @@ +/etc/init.d/bluetooth \ No newline at end of file diff --git a/install/profile/6desktop/etc/runlevels/default/cupsd b/install/profile/6desktop/etc/runlevels/default/cupsd new file mode 120000 index 0000000..73c95ca --- /dev/null +++ b/install/profile/6desktop/etc/runlevels/default/cupsd @@ -0,0 +1 @@ +/etc/init.d/cupsd \ No newline at end of file diff --git a/install/profile/6desktop/etc/runlevels/default/fbcondecor b/install/profile/6desktop/etc/runlevels/default/fbcondecor new file mode 120000 index 0000000..be9fc2b --- /dev/null +++ b/install/profile/6desktop/etc/runlevels/default/fbcondecor @@ -0,0 +1 @@ +/etc/init.d/fbcondecor \ No newline at end of file diff --git a/install/profile/6desktop/etc/runlevels/default/hotplug b/install/profile/6desktop/etc/runlevels/default/hotplug new file mode 120000 index 0000000..015d9f5 --- /dev/null +++ b/install/profile/6desktop/etc/runlevels/default/hotplug @@ -0,0 +1 @@ +/etc/init.d/hotplug \ No newline at end of file diff --git a/install/profile/6desktop/etc/runlevels/default/hplip?usb_hp=yes b/install/profile/6desktop/etc/runlevels/default/hplip?usb_hp=yes new file mode 120000 index 0000000..cea12b9 --- /dev/null +++ b/install/profile/6desktop/etc/runlevels/default/hplip?usb_hp=yes @@ -0,0 +1 @@ +/etc/init.d/hplip \ No newline at end of file diff --git a/install/profile/6desktop/etc/runlevels/default/portmap b/install/profile/6desktop/etc/runlevels/default/portmap new file mode 120000 index 0000000..e81eef2 --- /dev/null +++ b/install/profile/6desktop/etc/runlevels/default/portmap @@ -0,0 +1 @@ +/etc/init.d/portmap \ No newline at end of file diff --git a/install/profile/6desktop/etc/runlevels/default/xdm b/install/profile/6desktop/etc/runlevels/default/xdm new file mode 120000 index 0000000..af5b119 --- /dev/null +++ b/install/profile/6desktop/etc/runlevels/default/xdm @@ -0,0 +1 @@ +/etc/init.d/xdm \ No newline at end of file diff --git a/install/profile/6desktop/etc/sysctl.conf b/install/profile/6desktop/etc/sysctl.conf new file mode 100644 index 0000000..0f42708 --- /dev/null +++ b/install/profile/6desktop/etc/sysctl.conf @@ -0,0 +1,43 @@ +#-title-# + +#Передача транзитных пакетов между сетевыми интерфейсами +net.ipv4.ip_forward = 0 + +# Enables source route verification +net.ipv4.conf.default.rp_filter = 1 + +# Принятый пакет предполагает передачу ответа через тот же самый интерфейс +net.ipv4.conf.all.rp_filter = 1 + +# Разрешает/запрещает передачу так называемых syncookies вызывающему хосту +# в случае переполнения очереди SYN-пакетов для заданного сокета. +# Эта переменная используется для предотвращения syn-flood атак. +# Функция будет работать только в том случае, если ядро собрано с опцией +# CONFIG_SYN_COOKIES. (прим. перев.) +#net.ipv4.tcp_syncookies = 1 + +# Переменная разрешает/запрещает "маршрутизацию от источника". +# Маршрутизация от источника весьма небезопасна. +net.ipv4.conf.all.accept_source_route = 0 +net.ipv4.conf.default.accept_source_route = 0 + +# Переменная управляет приемом ICMP-сообщений о переадресации. В подавляющем +# большинстве случаев необходимость в переадресации отсутствует, к тому же +# опция небезопасна. +net.ipv4.conf.all.accept_redirects = 0 +net.ipv4.conf.default.accept_redirects = 0 + +# Эта переменная очень близка по смыслу к icmp_echo_ignore_all, только в +# данном случае будут игнорироваться ICMP сообщения, отправленные на +# широковещательный или групповой адрес. Вполне очевидно, почему полезно +# включить этот параметр -- защита от smurf атак. +net.ipv4.icmp_echo_ignore_broadcasts = 1 + +# Комбинация клавиш sysrq +kernel.sysrq = 1 + +# Время в секундах до перезагрузки системы при падении ядра +kernel.panic = 3 + +# Максимальное значение идентификатора процесса +#kernel.pid_max = 999999 diff --git a/install/profile/6desktop/etc/udev/rules.d/10-touchpad.rules b/install/profile/6desktop/etc/udev/rules.d/10-touchpad.rules new file mode 100644 index 0000000..1150193 --- /dev/null +++ b/install/profile/6desktop/etc/udev/rules.d/10-touchpad.rules @@ -0,0 +1,4 @@ +#-title-# +ACTION=="add", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1" +ACTION=="remove", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0" + diff --git a/install/profile/6desktop/usr/lib/gcstar/GCPlugins/GCfilms/GCKinopoisk.pm b/install/profile/6desktop/usr/lib/gcstar/GCPlugins/GCfilms/GCKinopoisk.pm new file mode 100644 index 0000000..581c6c2 --- /dev/null +++ b/install/profile/6desktop/usr/lib/gcstar/GCPlugins/GCfilms/GCKinopoisk.pm @@ -0,0 +1,343 @@ +package GCPlugins::GCfilms::GCKinopoisk; + +use strict; +use utf8; +use Encode qw(encode); + +use GCPlugins::GCfilms::GCfilmsCommon; + +{ + package GCPlugins::GCfilms::GCPluginKinopoisk; + + use base qw(GCPlugins::GCfilms::GCfilmsPluginsBase); + + sub start + { + my ($self, $tagname, $attr, $attrseq, $origtext) = @_; + $self->{inside}->{$tagname}++; + + if ($self->{parsingEnded}) + { + return; + } + + if ($self->{parsingList}) + { + if ($tagname eq "a") + { + if ($attr->{class} eq "all") + { + my $url = $attr->{href}; + if ($url =~ m/\/level\/1\/film/) + { + $self->{isMovie} = 1; + $self->{itemIdx}++; + $self->{itemsList}[$self->{itemIdx}]->{url} = $url; + } + } + if ($attr->{class} eq "orange") + { + $self->{isYear} = 1; + } + } + elsif ($tagname eq "title") + { + $self->{insideHTMLtitle} = 1; + } + } + else + { + if ($attr->{class} eq "moviename-big") + { + $self->{insideTitle} = 1; + } + elsif ($tagname eq "span" && $attr->{style} eq "font-size:13px;color:#666") + { + $self->{insideOriginal} = 1; + } + elsif ($tagname eq "a" && $attr->{class} eq "all") + { + if ($attr->{href} =~ m/\/level\/10\/m\_act\%5Byear\%5D/) + { + $self->{insideDate} = 1; + } + if ($attr->{href} =~ m/\/level\/10\/m\_act\%5Bcountry\%5D/) + { + $self->{insideCountry} = 1; + } + if ($attr->{href} =~ m/\/level\/4\/people/) + { + if ($self->{isDirector} != 0) + { + $self->{insideDirector} = 1; + $self->{isDirector} += 1; + } + } + if ($attr->{href} =~ m/\/level\/10\/m\_act\%5Bgenre\%5D/) + { + $self->{insideGenre} = 1; + $self->{isGenre} += 1; + } + } + elsif ($tagname eq "td") + { + if ($attr->{style} eq "padding:10px;padding-left:20px;") + { + $self->{insideSynopsis} = 1; + } + elsif ($attr->{style} eq "padding-right:20px;padding-top:10px") + { + $self->{curInfo}->{synopsis} = "нет описания"; + } + elsif ($attr->{width} eq "35%") + { + $self->{isDirector} = 1; + } + elsif ($attr->{class} eq "desc-title") + { + $self->{isTime} = 1; + } + elsif ($attr->{class} eq "desc-data" && $self->{isTime} == 2) + { + $self->{insideTime} = 1; + $self->{isTime} = 0; + } + elsif ($attr->{height} eq "15" && $attr->{align} eq "right") + { + $self->{isActors} += 1; + $self->{insideActors} = 1; + } + } + elsif ($tagname eq "img" && $attr->{style} eq "border-left:10px solid #f60") + { + if ($attr->{src} ne "/images/image_none.gif") + { + $self->{curInfo}->{image} = "http://www.kinopoisk.ru".$attr->{src}; + } + } + } + } + + sub text + { + my ($self, $origtext) = @_; + return if ($self->{parsingEnded}); + if ($self->{parsingList}) + { + if (($self->{insideHTMLtitle})) + { + if ($origtext =~ m/Результаты\sпоиска/) + { + # + } + else + { + $self->{parsingEnded} = 1; + $self->{itemIdx} = 0; + $self->{itemsList}[0]->{url} = $self->{loadedUrl}; + } + $self->{insideHTMLtitle} = 0; + } + if ($self->{isMovie}) + { + my ($title, $date); + $self->{itemsList}[$self->{itemIdx}]->{title} = $origtext; + $self->{isMovie} = 0; + return; + } + elsif ($self->{isYear}) + { + $self->{itemsList}[$self->{itemIdx}]->{date} = $origtext; + $self->{isYear} = 0; + return; + } + } + else + { + if ($self->{insideTitle}) + { + $origtext =~ s/\s+$//; + $self->{curInfo}->{title} = $origtext; + $self->{insideTitle} = 0; + } + elsif ($self->{insideOriginal}) + { + $origtext =~ s/^\s+//; + $self->{curInfo}->{original} = $origtext; + $self->{insideOriginal} = 0; + } + elsif ($self->{insideDate}) + { + $self->{curInfo}->{date} = $origtext; + $self->{insideDate} = 0; + } + elsif ($self->{insideCountry}) + { + $self->{curInfo}->{country} = $origtext; + $self->{insideCountry} = 0; + } + elsif ($self->{insideDirector}) + { + if ($self->{isDirector} == 2) + { + $self->{curInfo}->{director} = $origtext; + } + elsif ($self->{isDirector} > 2) + { + $self->{curInfo}->{director} = $self->{curInfo}->{director}.", ".$origtext; + } + $self->{insideDirector} = 0; + } + elsif ($self->{insideActors}) + { + if ($self->{isActors} == 1) + { + $self->{curInfo}->{actors} = $origtext; + } + elsif ($self->{isActors} > 1 && $origtext ne "...") + { + $self->{curInfo}->{actors} = $self->{curInfo}->{actors}.", ".$origtext; + } + $self->{insideActors} = 0; + } + elsif ($self->{insideSynopsis}) + { + $origtext =~ s/^\s+//; + $self->{curInfo}->{synopsis} = $origtext; + $self->{insideSynopsis} = 0; + } + elsif ($self->{isTime} == 1) + { + if ($origtext eq "время") + { + $self->{isTime} = 2; + } + else + { + $self->{isTime} = 0; + } + } + elsif ($self->{insideTime}) + { + $self->{curInfo}->{time} = $origtext; + $self->{insideTime} = 0; + } + elsif ($self->{insideGenre}) + { + if ($self->{isGenre} == 1) + { + $self->{curInfo}->{genre} = $origtext; + } + elsif ($self->{isGenre} > 1) + { + $self->{curInfo}->{genre} = $self->{curInfo}->{genre}.", ".$origtext; + } + $self->{insideGenre} = 0; + } + } + } + + sub end + { + my ($self, $tagname) = @_; + $self->{inside}->{$tagname}--; + if ($self->{parsingList}) + { + # Your code for processing search results here + } + else + { + if ($tagname eq "tr" && $self->{isDirector} != 0) + { + $self->{isDirector} = 0; + } + elsif ($tagname eq "tr" && $self->{isGenre} != 0) + { + $self->{isGenre} = 0; + } + } + } + + sub new + { + my $proto = shift; + my $class = ref($proto) || $proto; + my $self = $class->SUPER::new(); + bless ($self, $class); + + $self->{hasField} = { + title => 1, + date => 1, + director => 0, + actors => 0, + }; + + $self->{isInfo} = 0; + $self->{isMovie} = 0; + $self->{isYear} = 0; + $self->{isDirector} = 0; + $self->{isActors} = 0; + $self->{isTime} = 0; + $self->{isGenre} = 0; + $self->{curName} = undef; + $self->{curUrl} = undef; + + return $self; + } + + sub getName + { + return "Kinopoisk"; + } + + sub getAuthor + { + return 'Nazarov Pavel'; + } + + sub getLang + { + return 'RU'; + } + + sub getCharset + { + my $self = shift; + return "windows-1251"; + } + + sub getSearchUrl + { + my ($self, $word) = @_; + return "http://www.kinopoisk.ru/index.php?kp_query=$word"; + } + + sub getItemUrl + { + my ($self, $url) = @_; + return $url if $url =~ /^http:/; + return "http://www.kinopoisk.ru/" . $url; + } + + sub preProcess + { + my ($self, $html) = @_; + + $self->{parsingEnded} = 0; + + $html =~ s/\x85/\.\.\./g; + $html =~ s/\x92/'/g; + $html =~ s/\x93/“/g; + $html =~ s/\x94/”/g; + + $html =~ s/""/'"/g; + $html =~ s/""/"'/g; + $html =~ s/
/\n/gi; + #$html =~ s|
|
|; + + return $html; + } + +} + +1; diff --git a/install/profile/6desktop/usr/share/X11/app-defaults/Xmessage b/install/profile/6desktop/usr/share/X11/app-defaults/Xmessage new file mode 100644 index 0000000..394de40 --- /dev/null +++ b/install/profile/6desktop/usr/share/X11/app-defaults/Xmessage @@ -0,0 +1,19 @@ +#-title-# + +# клавиша Esc обеспечивает закрытие диалога +*baseTranslations: #override :Return: default-exit() +# отображать вертикальную полосу прокрутки +*message.scrollVertical: Always +# отображать горизонтальную полосу прокрутки +*message.scrollHorizontal: Never +# прямоугольный стиль кнопки +*Command.shapeStyle: rectangle +# толщина подсветки +*Command.highlightThickness: 1 +# шрифт для вывода сообщений +#?linuxver<=9.1# +*font: -*-verdana-medium-r-*-*-*-*-*-*-*-*-*-uni +#linuxver# +#?linuxver>9.1# +*font: -*-droid sans-medium-r-*-*-*-*-*-*-*-*-*-uni +#linuxver# diff --git a/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/10-ntfs-3g.fdi b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/10-ntfs-3g.fdi new file mode 100644 index 0000000..9440989 --- /dev/null +++ b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/10-ntfs-3g.fdi @@ -0,0 +1,10 @@ + + + + +ntfs-3g +ntfs-3g + + + + diff --git a/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi new file mode 100644 index 0000000..6153981 --- /dev/null +++ b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi @@ -0,0 +1,37 @@ +#?title=Calculate# +#title# + + + + + + + keyboard + + evdev + xorg + #-xkblayout-# + pc104 + grp:caps_toggle + grp:switch + grp_led:caps + + + + + + + mouse + + evdev + 5 + auto + + 4 5 + + + + + diff --git a/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi new file mode 100644 index 0000000..0ef4c4e --- /dev/null +++ b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi @@ -0,0 +1,31 @@ + + + + + synaptics + 1 + + + + + diff --git a/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-alps-touchpad.fdi b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-alps-touchpad.fdi new file mode 100644 index 0000000..f24419a --- /dev/null +++ b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-alps-touchpad.fdi @@ -0,0 +1,35 @@ + + + + + + synaptics + 130 + 840 + 130 + 640 + 25 + 30 + 180 + 220 + 75 + true + 20 + true + 20 + 0.60 + 1.10 + 0.030 + 200 + 200 + 1 + 1 + 0.1 + 2 + on + 1 + + + + + diff --git a/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-apple-touchpad.fdi b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-apple-touchpad.fdi new file mode 100644 index 0000000..23e613a --- /dev/null +++ b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-apple-touchpad.fdi @@ -0,0 +1,24 @@ + + + + + + synaptics + 0 + 1 + 2 + 0 + 90 + off + 1.10 + 1.30 + 0.08 + 2 + 3 + 1 + 0 + + + + + diff --git a/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-bcm5974-touchpad.fdi b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-bcm5974-touchpad.fdi new file mode 100644 index 0000000..e674818 --- /dev/null +++ b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-bcm5974-touchpad.fdi @@ -0,0 +1,44 @@ + + + + + + synaptics + 0 + 1280 + 0 + 800 + 1 + 3 + 2 + 1 + 0 + 1 + 1 + 0 + 40 + 10 + 16 + 80 + 256 + 0 + 10 + 200 + 0.8 + 1.2 + 0.10 + 25 + 223 + 200 + 1 + 3 + 2 + 0 + 0 + 0 + 0 + + + + + diff --git a/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-elantech-touchpad.fdi b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-elantech-touchpad.fdi new file mode 100644 index 0000000..40e6d74 --- /dev/null +++ b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-elantech-touchpad.fdi @@ -0,0 +1,27 @@ + + + + + + synaptics + on + 0.0320 + 0.72 + on + 1 + 1 + 1 + 2 + 60 + 1070 + 90 + 680 + 0.13 + 1 + 2 + 3 + + + + + diff --git a/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-synaptics-touchpad.fdi b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-synaptics-touchpad.fdi new file mode 100644 index 0000000..0001cf3 --- /dev/null +++ b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/15-x11-synaptics-touchpad.fdi @@ -0,0 +1,31 @@ + + + + + + synaptics + 1700 + 5300 + 1700 + 4200 + 25 + 30 + 180 + 220 + 100 + 0.10 + 0.70 + 0.00150 + on + 1 + 1 + 1 + 1 + 1 + 2 + 3 + + + + + diff --git a/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/999-storage-policy-fixed-drives.fdi b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/999-storage-policy-fixed-drives.fdi new file mode 100644 index 0000000..76fb69d --- /dev/null +++ b/install/profile/6desktop/usr/share/hal/fdi/policy/10osvendor/999-storage-policy-fixed-drives.fdi @@ -0,0 +1,11 @@ + + + + + + + false + + + + diff --git a/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/init.d/client?linuxver>=8.11&system=desktop b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/init.d/client?linuxver>=8.11&system=desktop new file mode 100755 index 0000000..eb1511b --- /dev/null +++ b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/init.d/client?linuxver>=8.11&system=desktop @@ -0,0 +1,37 @@ +#!/sbin/runscript +#-title-# + +depend() { + use localmount + after bootmisc consolefont modules netmount + after readahead-list ypbind autofs openvpn gpm lircmd + after cupsd fbcondecor sshd cron wicd + before xdm + use acpid consolekit hald xfs +} + +start() { + # Mount remote Samba filesystems. + ebegin "Mounting domain resources" + # Identifing domen server by env file + SERVER=`cat /var/calculate/calculate.env | grep cl_remote_host | awk '{print \$3}'` + let COUNT=20 + while let "${COUNT} > 0"; + do + if ping -w2 -c1 $SERVER &>/dev/null; + then + break; + else + sleep 1; + fi + let COUNT=COUNT-1 + done + cl-client --mount + eend $? "Some samba remote resources to mount" +} +stop(){ + ebegin "Unmount domain resources" + umount /var/calculate/remote +} + +# vim:ts=4 diff --git a/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/ldap.conf?server=CDS&system=desktop b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/ldap.conf?server=CDS&system=desktop new file mode 100644 index 0000000..b025ddc --- /dev/null +++ b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/ldap.conf?server=CDS&system=desktop @@ -0,0 +1,16 @@ +#-title-# + +HOST #-server_url-# +BASE #-ldap_base-# +ROOTBINDDN #-ldap_root-# +BINDDN #-ldap_bind-# +BINDPW #-ldap_bindpw-# +PORT 389 +ldap_version 3 +bind_policy soft + +#ускорим ограничив область поиска +nss_base_passwd ou=Users,#-ldap_root-#?one?shadowFlag=1 +nss_base_shadow ou=Users,#-ldap_root-#?one?shadowFlag=1 +nss_base_group ou=Groups,#-ldap_root-#?one + diff --git a/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/nsswitch.conf?server!=CDS&system=desktop b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/nsswitch.conf?server!=CDS&system=desktop new file mode 100644 index 0000000..2142582 --- /dev/null +++ b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/nsswitch.conf?server!=CDS&system=desktop @@ -0,0 +1,23 @@ +#-title-# + +passwd: compat +shadow: compat +group: compat + +# passwd: db files nis +# shadow: db files nis +# group: db files nis + +hosts: files dns +networks: files dns + +services: db files +protocols: db files +rpc: db files +ethers: db files +netmasks: files +netgroup: files +bootparams: files + +automount: files +aliases: files diff --git a/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/nsswitch.conf?server=CDS&system=desktop b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/nsswitch.conf?server=CDS&system=desktop new file mode 100644 index 0000000..b752e14 --- /dev/null +++ b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/nsswitch.conf?server=CDS&system=desktop @@ -0,0 +1,19 @@ +#-title-# + +passwd: files ldap +shadow: files ldap +group: files ldap + +hosts: files dns +networks: files dns + +services: files ldap +protocols: files ldap +rpc: db files +ethers: db files +netmasks: files +netgroup: files ldap +bootparams: files + +automount: files ldap +aliases: files diff --git a/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/pam.d/system-auth?server!=CDS&system=desktop b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/pam.d/system-auth?server!=CDS&system=desktop new file mode 100644 index 0000000..d047a07 --- /dev/null +++ b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/pam.d/system-auth?server!=CDS&system=desktop @@ -0,0 +1,15 @@ +#-title-# + +auth required pam_env.so +auth optional pam_keystore.so +auth sufficient pam_unix.so use_first_pass +auth required pam_deny.so + +account required pam_unix.so + +password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 +password sufficient pam_unix.so nullok md5 shadow use_authtok +password required pam_deny.so + +session required pam_limits.so +session required pam_unix.so diff --git a/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/pam.d/system-auth?server=CDS&system=desktop b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/pam.d/system-auth?server=CDS&system=desktop new file mode 100644 index 0000000..f70bc35 --- /dev/null +++ b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/pam.d/system-auth?server=CDS&system=desktop @@ -0,0 +1,19 @@ +#-title-# + +auth required pam_env.so +auth optional pam_keystore.so +auth sufficient pam_unix.so use_first_pass +auth sufficient pam_ldap.so use_first_pass +auth required pam_deny.so + +account required pam_unix.so +account sufficient pam_ldap.so + +password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 +password sufficient pam_unix.so nullok md5 shadow use_authtok +password sufficient pam_ldap.so +password required pam_deny.so + +session required pam_limits.so +session required pam_unix.so +session optional pam_ldap.so diff --git a/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/runlevels/default/client?server!=CDS&system=desktop b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/runlevels/default/client?server!=CDS&system=desktop new file mode 100644 index 0000000..e69de29 diff --git a/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/runlevels/default/client?server=CDS&system=desktop b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/runlevels/default/client?server=CDS&system=desktop new file mode 120000 index 0000000..7982c1f --- /dev/null +++ b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/runlevels/default/client?server=CDS&system=desktop @@ -0,0 +1 @@ +/etc/init.d/client \ No newline at end of file diff --git a/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/ssh/ssh_config?server=CDS&system=desktop b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/ssh/ssh_config?server=CDS&system=desktop new file mode 100644 index 0000000..0b578c4 --- /dev/null +++ b/install/profile/7intranet?client<2.0.17&linuxver<=9.5/etc/ssh/ssh_config?server=CDS&system=desktop @@ -0,0 +1,4 @@ +#-title-# + +StrictHostKeyChecking=no + diff --git a/install/profile/CDS/etc/env.d/99editor b/install/profile/CDS/etc/env.d/99editor new file mode 100644 index 0000000..8e45df2 --- /dev/null +++ b/install/profile/CDS/etc/env.d/99editor @@ -0,0 +1,2 @@ +#-title-# +EDITOR="/usr/bin/vim" diff --git a/install/profile/CDS/etc/runlevels/default/fbcondecor b/install/profile/CDS/etc/runlevels/default/fbcondecor new file mode 120000 index 0000000..be9fc2b --- /dev/null +++ b/install/profile/CDS/etc/runlevels/default/fbcondecor @@ -0,0 +1 @@ +/etc/init.d/fbcondecor \ No newline at end of file diff --git a/install/profile/CDS/etc/runlevels/default/ntpd?location!=ram b/install/profile/CDS/etc/runlevels/default/ntpd?location!=ram new file mode 120000 index 0000000..1342392 --- /dev/null +++ b/install/profile/CDS/etc/runlevels/default/ntpd?location!=ram @@ -0,0 +1 @@ +/etc/init.d/ntpd \ No newline at end of file diff --git a/install/profile/CDS/root/.mc/ini b/install/profile/CDS/root/.mc/ini new file mode 100644 index 0000000..bb904cf --- /dev/null +++ b/install/profile/CDS/root/.mc/ini @@ -0,0 +1,122 @@ + +[Midnight-Commander] +show_backups=1 +show_dot_files=1 +verbose=1 +mark_moves_down=1 +pause_after_run=1 +shell_patterns=1 +auto_save_setup=1 +auto_menu=0 +use_internal_view=1 +use_internal_edit=1 +clear_before_exec=1 +mix_all_files=0 +fast_reload=0 +fast_reload_msg_shown=0 +confirm_delete=1 +confirm_overwrite=1 +confirm_execute=0 +confirm_exit=1 +safe_delete=0 +mouse_repeat_rate=100 +double_click_speed=250 +use_8th_bit_as_meta=0 +confirm_view_dir=0 +mouse_move_pages=1 +mouse_move_pages_viewer=1 +fast_refresh=0 +navigate_with_arrows=0 +drop_menus=0 +wrap_mode=1 +old_esc_mode=0 +cd_symlinks=1 +show_all_if_ambiguous=0 +have_fast_cpu=0 +max_dirt_limit=10 +torben_fj_mode=0 +use_file_to_guess_type=1 +alternate_plus_minus=0 +only_leading_plus_minus=1 +show_output_starts_shell=0 +panel_scroll_pages=1 +xtree_mode=0 +num_history_items_recorded=60 +file_op_compute_totals=1 +vfs_timeout=60 +ftpfs_directory_timeout=900 +use_netrc=1 +ftpfs_retry_seconds=30 +ftpfs_always_use_proxy=0 +ftpfs_use_passive_connections=1 +ftpfs_use_unix_list_options=1 +ftpfs_first_cd_then_ls=0 +editor_word_wrap_line_length=72 +editor_key_emulation=0 +editor_tab_spacing=8 +editor_fill_tabs_with_spaces=0 +editor_return_does_auto_indent=1 +editor_backspace_through_tabs=0 +editor_fake_half_tabs=1 +editor_option_save_mode=0 +editor_option_save_position=1 +editor_option_backup_ext_int=-1 +editor_option_auto_para_formatting=0 +editor_option_typewriter_wrap=0 +editor_edit_confirm_save=1 +editor_syntax_highlighting=1 +nice_rotating_dash=1 +horizontal_split=0 + +[Layout] +equal_split=1 +first_panel_size=61 +message_visible=1 +keybar_visible=1 +xterm_title=1 +output_lines=0 +command_prompt=1 +menubar_visible=1 +show_mini_info=1 +permission_mode=0 +filetype_mode=1 + +[Dirs] +other_dir=/ +current_is_left=0 + +[Misc] +ftpfs_password=anonymous@ +ftp_proxy_host=gate +display_codepage=Other_8_bit + +[New Left Panel] +display=listing +reverse=0 +case_sensitive=1 +sort_order=name +list_mode=brief +user_format=half type name | size | perm +user_status0=half type name | size | perm +user_status1=half type name | size | perm +user_status2=half type name | size | perm +user_status3=half type name | size | perm +user_mini_status=0 + +[New Right Panel] +display=listing +reverse=0 +case_sensitive=1 +sort_order=name +list_mode=brief +user_format=half type name | size | perm +user_status0=half type name | size | perm +user_status1=half type name | size | perm +user_status2=half type name | size | perm +user_status3=half type name | size | perm +user_mini_status=0 + +[Panelize] +Найти корректуры, отвергнутые командой patch=find . -name \*.rej -print +Найти оригиналы (*.orig) после команды patch=find . -name \*.orig -print +Найти программы с установленными SUID/SGID битами=find . \( \( -perm -04000 -a -perm +011 \) -o \( -perm -02000 -a -perm +01 \) \) -print diff --git a/install/profile/CDS/root/.weechat/weechat.rc b/install/profile/CDS/root/.weechat/weechat.rc new file mode 100644 index 0000000..4e56260 --- /dev/null +++ b/install/profile/CDS/root/.weechat/weechat.rc @@ -0,0 +1,22 @@ +#-title-# + +[irc] +irc_display_away = off +irc_show_away_once = on +irc_default_msg_part = "Leaving" +irc_default_msg_quit = "Leaving" + +[server] +server_name = "freenode" +server_autoconnect = on +server_autoreconnect = on +server_autoreconnect_delay = 30 +server_address = "irc.freenode.net" +server_port = 6667 +server_nick1 = "#-hostname-#_#-country-#" +server_nick2 = "#-hostname-#_#-rand_min-#_#-country-#" +server_nick3 = "#-hostname-#_#-rand_min-##-rand_min-#_#-country-#" +server_username = "#-calculate-#" +server_realname = "Calculate Directory Server, http://www.calculate-linux.org" +server_autojoin = "#calculate" +server_autorejoin = on diff --git a/install/profile/CDS/usr/bin/irc b/install/profile/CDS/usr/bin/irc new file mode 120000 index 0000000..0268679 --- /dev/null +++ b/install/profile/CDS/usr/bin/irc @@ -0,0 +1 @@ +/usr/bin/weechat-curses \ No newline at end of file diff --git a/install/profile/CLD/etc/conf.d/xdm b/install/profile/CLD/etc/conf.d/xdm new file mode 100644 index 0000000..f5148e3 --- /dev/null +++ b/install/profile/CLD/etc/conf.d/xdm @@ -0,0 +1,4 @@ +#-title-# + +CHECKVT=7 +DISPLAYMANAGER="kdm" diff --git a/install/profile/CLD/etc/dbus-1/system.d/hal.conf b/install/profile/CLD/etc/dbus-1/system.d/hal.conf new file mode 100644 index 0000000..82b890b --- /dev/null +++ b/install/profile/CLD/etc/dbus-1/system.d/hal.conf @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install/profile/CLD/etc/env.d/90xsession b/install/profile/CLD/etc/env.d/90xsession new file mode 100644 index 0000000..ec83d0c --- /dev/null +++ b/install/profile/CLD/etc/env.d/90xsession @@ -0,0 +1,2 @@ +#-title-# +XSESSION="kde-4.2" \ No newline at end of file diff --git a/install/profile/CLD/root/.qt/qtrc b/install/profile/CLD/root/.qt/qtrc new file mode 100644 index 0000000..7ff4bb0 --- /dev/null +++ b/install/profile/CLD/root/.qt/qtrc @@ -0,0 +1,13 @@ +#------------------------------------------------------------------------------ +# Modified Calculate-client 2.0.11 +# File of a profile "client-profile/always" +#------------------------------------------------------------------------------ + +[General] +style=Windows +font=Droid Sans,10,-1,5,50,0,0,0,0,0 + +[Palette] +active=#141312^e#e0dfde^e#ffffff^e#efefee^e#70706f^e#959494^e#141312^e#ffffff^e#141312^e#ffffff^e#e0dfde^e#000000^e#000080^e#ffffff^e#0000ff^e#ff00ff^e +disabled=#7a7978^e#e0dfde^e#ffffff^e#efefee^e#70706f^e#959494^e#7a7978^e#ffffff^e#7a7978^e#ffffff^e#e0dfde^e#000000^e#000080^e#ffffff^e#0000ff^e#ff00ff^e +inactive=#141312^e#e0dfde^e#ffffff^e#efefee^e#70706f^e#959494^e#141312^e#ffffff^e#141312^e#ffffff^e#e0dfde^e#000000^e#000080^e#ffffff^e#0000ff^e#ff00ff^e diff --git a/install/profile/CLD/usr/share/config/kdm/Xreset?client<2.0.17&linuxver<=9.5 b/install/profile/CLD/usr/share/config/kdm/Xreset?client<2.0.17&linuxver<=9.5 new file mode 100755 index 0000000..cd9df0c --- /dev/null +++ b/install/profile/CLD/usr/share/config/kdm/Xreset?client<2.0.17&linuxver<=9.5 @@ -0,0 +1,16 @@ +#! /bin/sh + +#-title-# + +if [ -e '/usr/bin/cl-sync' ]; +then + /usr/bin/cl-sync --logout $USER + # при неудачном выполнении, сгенерируем ошибку + if [ "$?" -gt "0" ]; + then + echo 'ERROR' + exit 1 + fi +fi + +exit 0 \ No newline at end of file diff --git a/install/profile/CLD/usr/share/config/kdm/Xstartup?client<2.0.17&linuxver<=9.5 b/install/profile/CLD/usr/share/config/kdm/Xstartup?client<2.0.17&linuxver<=9.5 new file mode 100755 index 0000000..75e2209 --- /dev/null +++ b/install/profile/CLD/usr/share/config/kdm/Xstartup?client<2.0.17&linuxver<=9.5 @@ -0,0 +1,51 @@ +#! /bin/sh + +#-title-# + +env-update +source /etc/profile + +if [ -e '/usr/bin/cl-sync' ]; +then +#?linuxver>=9.4# + ERRORLOG=`/usr/bin/cl-sync --progress --color=never --login $USER` +#linuxver# +#?linuxver<9.4# + ERRORLOG=`/usr/bin/cl-sync --color=never --login $USER` +#linuxver# + # при неудачном выполнении, сгенерируем ошибку + if [ "$?" -gt "0" ]; + then + xmessage -buttons OK:0 -default OK "cl-sync: +$ERRORLOG" + exit 1 + fi +fi + +if [ -e '/usr/bin/cl-createhome' ]; +then +#?linuxver>=9.4# + ERRORLOG=`/usr/bin/cl-createhome --progress --color=never $USER` +#linuxver# +#?linuxver<9.4# + ERRORLOG=`/usr/bin/cl-createhome --color=never $USER` +#linuxver# + # при неудачном выполнении, сгенерируем ошибку + if [ "$?" -gt "0" ]; + then + ERRORLOG2=`/usr/bin/cl-sync --color=never --logout --nosync $USER` + if [ "$?" -gt "0" ]; + then + xmessage -buttons OK:0 -default OK "cl-sync: +$ERRORLOG2" + fi + xmessage -buttons OK:0 -default OK "cl-createhome: +$ERRORLOG" + exit 1 + fi +fi + +#очистим кэш +/bin/rm -rf /var/tmp/kdecache-$USER + +exit 0 diff --git a/install/profile/CLD/usr/share/config/kdm/backgroundrc b/install/profile/CLD/usr/share/config/kdm/backgroundrc new file mode 100644 index 0000000..fc107bc --- /dev/null +++ b/install/profile/CLD/usr/share/config/kdm/backgroundrc @@ -0,0 +1,19 @@ +#-title-# +[Desktop0] +BackgroundMode=Flat +BlendBalance=100 +BlendMode=NoBlending +ChangeInterval=60 +Color1=0,0,0 +Color2=192,192,192 +CurrentWallpaperName= +LastChange=0 +MinOptimizationDepth=1 +MultiWallpaperMode=NoMulti +Pattern=fish +Program= +ReverseBlending=false +UseSHM=false +Wallpaper=/usr/share/wallpapers/calculate-kdm.jpg +WallpaperList=Custom +WallpaperMode=Scaled diff --git a/install/profile/CLD/usr/share/config/kdm/~kdmrc b/install/profile/CLD/usr/share/config/kdm/~kdmrc new file mode 100644 index 0000000..a8b99d8 --- /dev/null +++ b/install/profile/CLD/usr/share/config/kdm/~kdmrc @@ -0,0 +1,122 @@ +#-title-# +[General] +ConfigVersion=2.4 +ConsoleTTYs=tty1,tty2,tty3,tty4,tty5,tty6 +PidFile=/var/run/kdm.pid +ReserveServers=:1,:2,:3 +ServerVTs=-7 +StaticServers=:0 + +[Shutdown] +BootManager=None +HaltCmd=/sbin/halt +RebootCmd=/sbin/reboot + +[X-*-Core] +AllowNullPasswd=false +AllowRootLogin=false +AllowShutdown=Root +#?load!=ram# +AutoReLogin=false +#load# +#?load=ram&pass=install# +AutoReLogin=false +#load# +#?load=ram&pass!=install# +AutoReLogin=true +#load# +ClientLogFile=.xsession-errors-%d +Resources=/usr/share/wallpapers/fulmine.jpg +Session=/usr/share/config/kdm/Xsession +SessionsDirs=/usr/share/xsessions +Setup=/usr/share/config/kdm/Xsetup +#?client<2.0.17&linuxver<=9.5# +Reset=/usr/share/config/kdm/Xreset +Startup=/usr/share/config/kdm/Xstartup +#client# + +[X-*-Greeter] +AntiAliasing=true +ColorScheme=Oxygen +FaceSource=AdminOnly +#?linuxver<=9.1# +FailFont=Verdana,10,-1,5,75,0,0,0,0,0 +#linuxver# +#?linuxver>9.1# +FailFont=Droid Sans,10,-1,5,75,0,0,0,0,0 +#linuxver# +ForgingSeed=1224337366 +GUIStyle=Oxygen +#?linuxver<=9.1# +GreetFont=Verdana,20,-1,5,50,0,0,0,0,0 +#linuxver# +#?linuxver>9.1# +GreetFont=Droid Sans,20,-1,5,50,0,0,0,0,0 +#linuxver# +GreetString= +GreeterPos=50,50 +HiddenUsers= +LogoArea=Logo +LogoPixmap=/usr/share/wallpapers/calculate-logo.png +MaxShowUID=65000 +MinShowUID=999 +Preloader=/usr/bin/preloadkde +SelectedUsers= +ShowUsers=NotHidden +SortUsers=true +#?linuxver<=9.1# +StdFont=Verdana,10,-1,5,50,0,0,0,0,0 +#linuxver# +#?linuxver>9.1# +StdFont=Droid Sans,10,-1,5,50,0,0,0,0,0 +#linuxver# +Theme= +UseBackground=true +UseTheme=false +UserCompletion=true +UserList=true + +[X-:*-Core] +AllowNullPasswd=true +AllowShutdown=All +NoPassEnable=false +NoPassUsers= +#?video_drv=vesa?video_drv=nv?video_drv=radeon# +ServerArgsLocal=-nolisten tcp -dpi 96 +#video_drv# +#?video_drv!=vesa?video_drv=nv?video_drv=radeon# +ServerArgsLocal=-nolisten tcp +#video_drv# +ServerCmd=/usr/bin/X -br -novtswitch +#?video_drv=fglrx# +# System freezes after logout with GDM or KDM ATI +# http://ru.gentoo-wiki.com/wiki/Fglrx +TerminateServer=true +#video_drv# + +[X-:*-Greeter] +AllowClose=false +DefaultUser=cxz +FocusPasswd=true +LoginMode=DefaultLocal +PreselectUser=Previous + +[X-:0-Core] +#?load!=ram# +AutoLoginEnable=false +AutoLoginUser= +#load# +#?load=ram&pass=install# +AutoLoginEnable=false +AutoLoginUser= +#load# +#?load=ram&pass!=install# +AutoLoginEnable=true +AutoLoginUser=guest +#load# +AutoLoginLocked=false +ClientLogFile=.xsession-errors + +[Xdmcp] +Enable=false +Willing=/usr/share/config/kdm/Xwilling diff --git a/install/profile/CLD/usr/share/config/~kdeglobals b/install/profile/CLD/usr/share/config/~kdeglobals new file mode 100644 index 0000000..e8a6854 --- /dev/null +++ b/install/profile/CLD/usr/share/config/~kdeglobals @@ -0,0 +1,14 @@ +#-title-# +[Directories][$i] +dir_apps= +dir_mime= + +[General] +#?linuxver<=9.1# +menuFont=Verdana,10,-1,5,50,0,0,0,0,0 +font=Verdana,10,-1,5,50,0,0,0,0,0 +#linuxver# +#?linuxver>9.1# +menuFont=Droid Sans,10,-1,5,50,0,0,0,0,0 +font=Droid Sans,10,-1,5,50,0,0,0,0,0 +#linuxver# diff --git a/install/profile/CLDX/etc/conf.d/xdm b/install/profile/CLDX/etc/conf.d/xdm new file mode 100644 index 0000000..a33b2a0 --- /dev/null +++ b/install/profile/CLDX/etc/conf.d/xdm @@ -0,0 +1,4 @@ +#-title-# + +CHECKVT=7 +DISPLAYMANAGER="slim" diff --git a/install/profile/CLDX/etc/env.d/90xsession b/install/profile/CLDX/etc/env.d/90xsession new file mode 100644 index 0000000..919e1ca --- /dev/null +++ b/install/profile/CLDX/etc/env.d/90xsession @@ -0,0 +1,2 @@ +#-title-# +XSESSION="Xfce4" \ No newline at end of file diff --git a/install/profile/CLDX/etc/~slim.conf b/install/profile/CLDX/etc/~slim.conf new file mode 100644 index 0000000..7b799d4 --- /dev/null +++ b/install/profile/CLDX/etc/~slim.conf @@ -0,0 +1,12 @@ +#?load=ram&pass!=install# +auto_login yes +default_user guest +#load# + +current_theme calculate +#?laptop=# +numlock on +#laptop# +#?laptop!=# +numlock off +#laptop#