From c91ed4f594451ced01be60e305ebc9cd85efba72 Mon Sep 17 00:00:00 2001 From: jaseg Date: Mon, 23 Oct 2023 16:13:48 +0200 Subject: [PATCH] Repo re-org, now we are KiCad add-ons. --- .gitignore | 2 + LICENSE | 674 ++++++++++++++++++ de.jaseg.kimesh.footprints/metadata.json | 22 + de.jaseg.kimesh.footprints/resources/icon.png | Bin 0 -> 344 bytes de.jaseg.kimesh.plugin/metadata.json | 22 + .../plugins/__init__.py | 0 .../plugins/mesh_dialog.py | 0 .../plugins/mesh_plugin.py | 0 .../plugins/mesh_plugin_dialog.py | 0 .../plugins/mesh_plugin_icon.png | Bin de.jaseg.kimesh.plugin/resources/icon.png | Bin 0 -> 344 bytes debug_install.sh | 13 - mesh_footprints.tar.xz | Bin 109984 -> 0 bytes package.py | 95 +++ 14 files changed, 815 insertions(+), 13 deletions(-) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 de.jaseg.kimesh.footprints/metadata.json create mode 100644 de.jaseg.kimesh.footprints/resources/icon.png create mode 100644 de.jaseg.kimesh.plugin/metadata.json rename __init__.py => de.jaseg.kimesh.plugin/plugins/__init__.py (100%) rename mesh_dialog.py => de.jaseg.kimesh.plugin/plugins/mesh_dialog.py (100%) rename mesh_plugin.py => de.jaseg.kimesh.plugin/plugins/mesh_plugin.py (100%) rename mesh_plugin_dialog.py => de.jaseg.kimesh.plugin/plugins/mesh_plugin_dialog.py (100%) rename mesh_plugin_icon.png => de.jaseg.kimesh.plugin/plugins/mesh_plugin_icon.png (100%) create mode 100644 de.jaseg.kimesh.plugin/resources/icon.png delete mode 100644 debug_install.sh delete mode 100644 mesh_footprints.tar.xz create mode 100644 package.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d7bfeca --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +de.jaseg.kimesh.footprints/footprints +__pycache__ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /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/de.jaseg.kimesh.footprints/metadata.json b/de.jaseg.kimesh.footprints/metadata.json new file mode 100644 index 0000000..90ccf5c --- /dev/null +++ b/de.jaseg.kimesh.footprints/metadata.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://go.kicad.org/pcm/schemas/v1", + "name": "KiMesh", + "description": "A security mesh generator for KiCad", + "description_full": "This is the footprint package for the KiMesh security mesh generator.", + "identifier": "de.jaseg.kimesh.footprints", + "type": "library", + "author": { + "name": "jaseg", + "contact": { + "web": "https://jaseg.de/" + } + }, + "license": "CERN-OHL", + "resources": { + "homepage": "https://jaseg.de/projects/kimesh", + "git": "https://git.jaseg.de/kimesh.git", + "issues": "https://github.com/jaseg/kimesh/issues" + }, + "versions": [ + ] +} diff --git a/de.jaseg.kimesh.footprints/resources/icon.png b/de.jaseg.kimesh.footprints/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb60d1dd8c8d53b4fd936b38d8ee64051d10c8e GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEpv=XjEDzsIMa`nijMW7XTtCj&-efAZmPNvF)v9f+J2M%5nKIz`tli$j6*Z2J z8>;5*`ujw7#J8lUHx3vIVCg!0Er2GkpKVy literal 0 HcmV?d00001 diff --git a/de.jaseg.kimesh.plugin/metadata.json b/de.jaseg.kimesh.plugin/metadata.json new file mode 100644 index 0000000..288f811 --- /dev/null +++ b/de.jaseg.kimesh.plugin/metadata.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://go.kicad.org/pcm/schemas/v1", + "name": "KiMesh", + "description": "A security mesh generator for KiCad", + "description_full": "KiMesh automatically generates security meshes for you. A security mesh is a set of PCB traces that cover an area to detect physical tampering. KiMesh can cover arbitrary areas with two or more traces. Note: The KiMesh footprints Add-On must be installed alongside KiMesh. For detailed usage instructions, please have a look at the KiMesh website linked in the add-on information.", + "identifier": "de.jaseg.kimesh.plugin", + "type": "plugin", + "author": { + "name": "jaseg", + "contact": { + "web": "https://jaseg.de/" + } + }, + "license": "GPL-3.0", + "resources": { + "homepage": "https://jaseg.de/projects/kimesh", + "git": "https://git.jaseg.de/kimesh.git", + "issues": "https://github.com/jaseg/kimesh/issues" + }, + "versions": [ + ] +} diff --git a/__init__.py b/de.jaseg.kimesh.plugin/plugins/__init__.py similarity index 100% rename from __init__.py rename to de.jaseg.kimesh.plugin/plugins/__init__.py diff --git a/mesh_dialog.py b/de.jaseg.kimesh.plugin/plugins/mesh_dialog.py similarity index 100% rename from mesh_dialog.py rename to de.jaseg.kimesh.plugin/plugins/mesh_dialog.py diff --git a/mesh_plugin.py b/de.jaseg.kimesh.plugin/plugins/mesh_plugin.py similarity index 100% rename from mesh_plugin.py rename to de.jaseg.kimesh.plugin/plugins/mesh_plugin.py diff --git a/mesh_plugin_dialog.py b/de.jaseg.kimesh.plugin/plugins/mesh_plugin_dialog.py similarity index 100% rename from mesh_plugin_dialog.py rename to de.jaseg.kimesh.plugin/plugins/mesh_plugin_dialog.py diff --git a/mesh_plugin_icon.png b/de.jaseg.kimesh.plugin/plugins/mesh_plugin_icon.png similarity index 100% rename from mesh_plugin_icon.png rename to de.jaseg.kimesh.plugin/plugins/mesh_plugin_icon.png diff --git a/de.jaseg.kimesh.plugin/resources/icon.png b/de.jaseg.kimesh.plugin/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb60d1dd8c8d53b4fd936b38d8ee64051d10c8e GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEpv=XjEDzsIMa`nijMW7XTtCj&-efAZmPNvF)v9f+J2M%5nKIz`tli$j6*Z2J z8>;5*`ujw7#J8lUHx3vIVCg!0Er2GkpKVy literal 0 HcmV?d00001 diff --git a/debug_install.sh b/debug_install.sh deleted file mode 100644 index e928738..0000000 --- a/debug_install.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -PLUGIN_NAME=security_mesh - -XDG_CONFIG_HOME="${XDG_CONFIG_HOME-$HOME/.config}" -KICAD_BASE="${1-$XDG_CONFIG_HOME/kicad}" -PLUGIN_DIR="$KICAD_BASE/scripting/plugins/$PLUGIN_NAME" - -rm -rf "$PLUGIN_DIR" -mkdir -p "$PLUGIN_DIR" - -cp -r * $PLUGIN_DIR/ - diff --git a/mesh_footprints.tar.xz b/mesh_footprints.tar.xz deleted file mode 100644 index bb28abf901947c18dbf5c632b1efd0f9acb762e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109984 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

+ONXtR~; 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 L4VXa+SR$hUZX_}s diff --git a/package.py b/package.py new file mode 100644 index 0000000..e48c769 --- /dev/null +++ b/package.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python3 +import re +import hashlib +import shutil +import subprocess +import json +from pathlib import Path + +import click + +def tree_size(path): + return sum(entry.stat().st_size for entry in path.glob('**/*') if entry.is_file()) + +@click.command() +@click.option('--major', 'increment', flag_value='major') +@click.option('--minor', 'increment', flag_value='minor', default=True) +@click.option('--patch', 'increment', flag_value='patch', default=True) +@click.argument('version', required=False) +def do_release(version, increment): + if not version: + tag = subprocess.run('git describe --tags --abbrev=0 --match v*'.split(), + check=True, capture_output=True, text=True) + major, minor, patch = map(int, re.fullmatch(r'v([0-9]+)\.([0-9]+)\.([0-9]+)', tag.stdout.strip()).groups()) + match increment: + case 'major': + major, minor, patch = (major+1, 0, 0) + case 'minor': + major, minor, patch = (major, minor+1, 0) + case 'patch': + major, minor, patch = (major, minor, patch+1) + version = f'{major}.{minor}.{patch}' + + res = subprocess.run('git status --porcelain --untracked-files=no'.split(), + check=True, capture_output=True, text=True) + if res.stdout.strip(): + raise click.ClickException('There are uncommitted changes in this repository.') + + print('Cleaning old footprints') + footprint_dir = Path('de.jaseg.kimesh.footprints') / 'footprints' + shutil.rmtree(footprint_dir, ignore_errors=True) + footprint_dir.mkdir() + + print('Re-generating footprints') + for n in range(2, 9): + subprocess.run(['python', '-m', 'footprint_generator', + '-w', '0.100,0.120,0.150,0.200,0.250,0.300,0.350,0.400,0.500,0.600,0.700,0.800,1.000,1.200,1.500,1.800', + '-c', '0.100,0.120,0.150,0.200,0.300,0.400,0.500', + '-n', str(n), + str(footprint_dir / f'kimesh_anchors_{n}wire.pretty') + ], check=True) + + res = subprocess.run('git ls-files'.split(), check=True, capture_output=True, text=True) + for path in res.stdout.splitlines(): + if re.fullmatch(r'de\.jaseg\.kimesh\.[^/]*-v[.0-9]*\.zip', path.strip()): + print(f'Removing old release zip {path} from git index.') + subprocess.run(['git', 'rm', '--cached', path], check=True, capture_output=True) + + for pkg_dir in Path('de.jaseg.kimesh.plugin'), Path('de.jaseg.kimesh.footprints'): + meta_path = pkg_dir / 'metadata.json' + print(f'Updating metadata file {meta_path}') + meta_file = json.loads(meta_path.read_text()) + subprocess.run(['git', 'add', str(meta_path)], check=True, capture_output=True) + ver_dict = { + 'version': version, + 'status': 'stable', + 'kicad_version': '7.99', + } + meta_file['versions'].append(ver_dict) + meta_path.write_text(json.dumps(meta_file, indent=4)) + + zip_fn = Path(shutil.make_archive(f'{pkg_dir.name}-v{version}', 'zip', pkg_dir, '.')) + print(f'Adding new release zip {zip_fn} to git index.') + subprocess.run(['git', 'add', str(zip_fn)], check=True, capture_output=True) + + ver_dict['download_sha256'] = hashlib.sha256(zip_fn.read_bytes()).hexdigest() + ver_dict['download_size'] = zip_fn.stat().st_size + ver_dict['download_url'] = f'https://git.jaseg.de/kimesh.git/plain/{zip_fn.name}?h=v{version}' + ver_dict['install_size'] = tree_size(pkg_dir) + meta_path.write_text(json.dumps(meta_file, indent=4)) + + print(f'Adding updated metadata file {meta_path} to git index') + subprocess.run(['git', 'add', str(meta_path)], check=True, capture_output=True) + print('Create git commit') + subprocess.run(['git', 'commit', '-m', f'Version {version}', '--no-edit'], check=True, capture_output=True) + res = subprocess.run('git rev-parse --short HEAD'.split(), check=True, capture_output=True, text=True) + print(f'Created commit {res.stdout.strip()}') + print(f'Creating and signing version tag v{version}') + subprocess.run(['git', + '-c', 'user.signingkey=E36F75307F0A0EC2D145FF5CED7A208EEEC76F2D', + '-c', 'user.email=python-mpv@jaseg.de', + 'tag', '-s', f'v{version}', '-m', f'Version v{version}'], + check=True) + +if __name__ == '__main__': + do_release()