diff options
55 files changed, 461 insertions, 697 deletions
@@ -33,6 +33,11 @@ test-no-interfaces: checkiso test-interfaces: checkiso scripts/check-qemu-install --debug --configd --match="interfaces_" --smoketest --uefi build/live-image-amd64.hybrid.iso +.PHONY: test-vpp +.ONESHELL: +test-vpp: checkiso + scripts/check-qemu-install --debug --configd --match="vpp" --smoketest --uefi build/live-image-amd64.hybrid.iso + .PHONY: testc .ONESHELL: testc: checkiso diff --git a/data/build-types/release.toml b/data/build-types/release.toml index 122cae37..5b460be9 100644 --- a/data/build-types/release.toml +++ b/data/build-types/release.toml @@ -3,348 +3,439 @@ data = ''' VyOS END USER LICENSE AGREEMENT -PLEASE READ THIS END USER LICENSE AGREEMENT (EULA, THIS ‘AGREEMENT’) CAREFULLY BEFORE USING VYOS FROM US. -BY USING VYOS, YOU (“YOU”, “LICENSEE”, “CUSTOMER”) SIGNIFY YOUR ASSENT TO AND ACCEPTANCE OF THIS -END USER LICENSE AGREEMENT AND ACKNOWLEDGE YOU HAVE READ AND UNDERSTAND THE TERMS. -THIS AGREEMENT IS ENFORCEABLE AGAINST ANY PERSON OR ENTITY THAT USES THE SOFTWARE AND ANY PERSON OR ENTITY -(E.G., SYSTEMS INTEGRATOR, CONSULTANT OR CONTRACTOR) THAT USES THE SOFTWARE ON ANOTHER PERSON’S OR ENTITY’S BEHALF. -IF YOU DO NOT ACCEPT THE TERMS OF THIS AGREEMENT, THEN YOU MUST NOT USE THE SOFTWARE. -THE EFFECTIVE DATE OF THIS AGREEMENT IS THE EARLIEST OF THE START DATE OF SERVICES STATED IN OUR INVOICE, -PREVIOUS ACCEPTANCE OF THIS AGREEMENT (OR OUR BUSINESS PARTNER’S ORDER OR/AND INVOICE, -PREVIOUS ACCEPTANCE OF THIS AGREEMENT) OR THE DATE THAT CUSTOMER HAS ACCESS AND IS ABLE TO USE OUR PRODUCTS OR SERVICES. -THIS END USER LICENSE AGREEMENT DOES NOT COVER ANY SERVICES FROM US, OR THROUGH OUR BUSINESS PARTNER, -OTHER THAN ACCESS TO THE SOFTWARE, SUCH AS TECHNICAL SUPPORT, UPGRADES OR SUPPORT SERVICES. -PLEASE REVIEW YOUR SERVICES OR SUBSCRIPTION AGREEMENT(S) THAT YOU MAY HAVE WITH US -OR OTHER AUTHORIZED VYOS SERVICES PROVIDER OR BUSINESS PARTNER REGARDING THE SOFTWARE AND SERVICES AND ASSOCIATED PAYMENTS. +PLEASE READ THIS END USER LICENSE AGREEMENT (EULA, THIS ‘AGREEMENT') CAREFULLY +BEFORE USING VYOS FROM US. BY USING VYOS, YOU ("YOU", "LICENSEE", "CUSTOMER") +SIGNIFY YOUR ASSENT TO AND ACCEPTANCE OF THIS END USER LICENSE AGREEMENT AND +ACKNOWLEDGE YOU HAVE READ AND UNDERSTAND THE TERMS. THIS AGREEMENT IS +ENFORCEABLE AGAINST ANY PERSON OR ENTITY THAT USES THE SOFTWARE AND ANY PERSON +OR ENTITY (E.G., SYSTEMS INTEGRATOR, CONSULTANT OR CONTRACTOR) THAT USES THE +SOFTWARE ON ANOTHER PERSON'S OR ENTITY'S BEHALF. IF YOU DO NOT ACCEPT THE TERMS +OF THIS AGREEMENT, THEN YOU MUST NOT USE THE SOFTWARE. THE EFFECTIVE DATE OF +THIS AGREEMENT IS THE EARLIEST OF THE START DATE OF SERVICES STATED IN OUR +INVOICE, PREVIOUS ACCEPTANCE OF THIS AGREEMENT (OR OUR BUSINESS PARTNER'S ORDER +OR/AND INVOICE, PREVIOUS ACCEPTANCE OF THIS AGREEMENT) OR THE DATE THAT +CUSTOMER HAS ACCESS AND IS ABLE TO USE OUR PRODUCTS OR SERVICES. THIS END USER +LICENSE AGREEMENT DOES NOT COVER ANY SERVICES FROM US, OR THROUGH OUR BUSINESS +PARTNER, OTHER THAN ACCESS TO THE SOFTWARE, SUCH AS TECHNICAL SUPPORT, UPGRADES +OR SUPPORT SERVICES. PLEASE REVIEW YOUR SERVICES OR SUBSCRIPTION AGREEMENT(S) +THAT YOU MAY HAVE WITH US OR OTHER AUTHORIZED VYOS SERVICES PROVIDER OR +BUSINESS PARTNER REGARDING THE SOFTWARE AND SERVICES AND ASSOCIATED PAYMENTS. 1. Definitions -1.1 “We, Our, Us” means VyOS Contracting Entity defined in Section 13. - -1.2 “VyOS” or “Software” means VyOS software provided by Us -(or authorized services provider or business partner) -and consisting of VyOS software application -(exclusively or along with any third-party software included therein or therewith) -that includes or refers to this Agreement and any related documentation -(including, without limitation, user and technical documentation, -further explanatory written materials related to the Software, etc.), -services (including, without limitation, SaaS, internet-based service, etc.), -tool, application, component, object code, source code, -appearance (including, without limitation, images, designs, fonts, etc.), -structure as well as any modification and update thereof, regardless of the delivery mechanism. - -“Services” means software support services and any other services provided by Us, -or through Our Business Partner, on a subscription basis. - -1.3 “Authorized Users” means employees or individual contractors to whom, -pursuant to this Agreement, the Licensee has granted a right -to access and use the Software with your credentials, -provided that such access shall be for your sole benefit and in full compliance with this EULA. +1.1 "We, Our, Us" means VyOS Contracting Entity defined in Section 13. + +1.2 "VyOS" or "Software" means VyOS software provided by Us (or authorized +services provider or business partner) and consisting of VyOS software +application (exclusively or along with any third-party software included +therein or therewith) that includes or refers to this Agreement and any related +documentation (including, without limitation, user and technical documentation, +further explanatory written materials related to the Software, etc.), services +(including, without limitation, SaaS, internet-based service, etc.), tool, +application, component, object code, source code, appearance (including, +without limitation, images, designs, fonts, etc.), structure as well as any +modification +and update thereof, regardless of the delivery mechanism. + +"Services" means software support services and any other services provided by +Us, or through Our Business Partner, on a subscription basis. + +1.3 "Authorized Users" means employees or individual contractors to whom, +pursuant to this Agreement, the Licensee has granted a right to access and use +the Software with your credentials, provided that such access shall be for your +sole benefit and in full compliance with this EULA. + All Authorized Users are bound by the terms of this Agreement. -1.4 “Cloud Provider” means authorized hosting partner’s cloud marketplace platform, -a company that delivers cloud computing based services, -resources and solutions to businesses and/or offers solutions via the cloud marketplace. - -1.5 “Business Partner” shall mean Our authorized sales agent, partner, -Cloud Provider reseller or distributor -of the Software and Our Services authorized to sell Software and Services via our subscriptions. - -Purchases through or by a Business Partner. -In instances where Customer purchases through a Business Partner, -final prices and terms and conditions of sale will be as agreed between Customer and the Business Partner -from which Customer makes such purchases; however, the terms set forth -in this EULA are applicable to Customer’s use and the performance of VyOS. -Customer acknowledges that: -(a) We may share information with the Business Partner related to Customer’s use and consumption of VyOS, -and vice versa, for account management and billing purposes; -(b) the termination provisions below will also apply if Customer’s Business Partner fails to pay Us applicable fees; and -(c) Business Partner is not authorized to make any changes to this EULA or otherwise authorized to make any warranties, -representations, promises or commitments on Our behalf or in any way concerning the VyOS. - -"Business Partner’s order" means the ordering document(s), -issued during Your purchasing process by Our Business Partner -in a way and manner as defined by Our Business Partner. -Business Partner’s order may describe specific Software and Services, -Subscription(s), associated fees, payment terms, -and shall be subject to the terms of this Agreement and EULA. - -1.6 “Customer”, “You”, “Licensee”, “Your” - user of VyOS and its heirs, agents, successors, assigns and -- for the purpose of Global subscription - its Affiliates. +1.4 "Cloud Provider" means authorized hosting partner's cloud marketplace +platform, a company that delivers cloud computing based services, resources and +solutions to businesses and/or offers solutions via the cloud marketplace. + +1.5 "Business Partner" shall mean Our authorized sales agent, partner, Cloud +Provider reseller or distributor of the Software and Our Services authorized to +sell Software and Services via our subscriptions. Purchases through or by a +Business Partner. In instances where Customer purchases through a Business +Partner, final prices and terms and conditions of sale will be as agreed +between Customer and the Business Partner from which Customer makes such +purchases; however, the terms set forth in this EULA are applicable to +Customer's use and the performance of VyOS. Customer acknowledges that: +(a) We may share information with the Business Partner related to Customer's + use and consumption of VyOS, and vice versa, for account management and + billing purposes; +(b) the termination provisions below will also apply if Customer's Business + Partner fails to pay Us applicable fees; and +(c) Business Partner is not authorized to make any changes to this EULA or + otherwise authorized to make any warranties, representations, promises or + commitments on Our behalf or in any way concerning the VyOS. + +"Business Partner's order" means the ordering document(s), issued during Your +purchasing process by Our Business Partner in a way and manner as defined by +Our Business Partner. Business Partner's order may describe specific Software +and Services, Subscription(s), associated fees, payment terms, and shall be +subject to the terms of this Agreement and EULA. + +1.6 "Customer", "You", "Licensee", "Your" - user of VyOS and its heirs, agents, +successors, assigns and - for the purpose of Global subscription - its +Affiliates. 2. License Grant -Subject to the following terms, We grant to You a perpetual, worldwide license to the Software -(most of which includes multiple software components) pursuant to different open sourced and public licenses. -The license agreement for each software component is located in the software component's source code and permits you to -run, copy, modify, and redistribute the software component (subject to certain obligations in some cases), -both in source code and binary code forms, with the exception of the images identified in Section 4 below. -You shall either agree to the terms of each applicable public license or You must not install/use those components -or exercise such licensed rights. -This EULA pertains solely to the Software and does not limit your rights under, or grant you rights that supersede, -the license terms of any particular component. - -2.1 Limited Modifications. For the avoidance of doubt, Licensee is permitted to use VyOS from Us -in accordance with VyOS terms and conditions and on the specific quotation, -purchase order and/or the subscription or customized agreements, if any. -Any other modifications of VyOS terms and conditions won’t be allowed, -except as expressly authorized through a separate custom agreement, +Subject to the following terms, We grant to You a perpetual, worldwide license +to the Software (most of which includes multiple software components) pursuant +to different open sourced and public licenses. The license agreement for each +software component is located in the software component's source code and +permits you to run, copy, modify, and redistribute the software component +(subject to certain obligations in some cases), both in source code and binary +code forms, with the exception of the images identified in Section 4 below. You +shall either agree to the terms of each applicable public license or You must +not install/use those components or exercise such licensed rights. + +This EULA pertains solely to the Software and does not limit your rights under, +or grant you rights that supersede, the license terms of any particular +component. + +2.1 Limited Modifications. For the avoidance of doubt, Licensee is permitted to +use VyOS from Us in accordance with VyOS terms and conditions and on the +specific quotation, purchase order and/or the subscription or customized +agreements, if any. Any other modifications of VyOS terms and conditions won't +be allowed, except as expressly authorized through a separate custom agreement, unless otherwise defined by this Agreement, specific quotation, purchase order and/or the subscription or customized agreements. -2.2 No Unbundling. Nonetheless, the Software is designed and provided to Licensee solely as permitted herein. -Licensee shall not unbundle or repackage the Software for distribution, transfer or other disposition, -unless otherwise specified by this Agreement. +2.2 No Unbundling. Nonetheless, the Software is designed and provided to +Licensee solely as permitted herein. Licensee shall not unbundle or repackage +the Software for distribution, transfer or other disposition, unless otherwise +specified by this Agreement. 3. Prohibited Use and Allowed Use -3.1 Except as expressly authorized through a separate custom agreement, Licensee and the Authorized Users are prohibited from: +3.1 Except as expressly authorized through a separate custom agreement, +Licensee and the Authorized Users are prohibited from: (a) using the Software on behalf of third parties; -(b) sublicensing, licensing, renting, leasing, lending or granting other rights in the Software - including rights on a membership or subscription basis; -(c) providing use of the Software in a service bureau arrangement, outsourcing or on a time sharing basis; -(d) interfere with or disrupt the Software or systems used to provide the VyOS or other equipment or networks connected; -(e) circumvent or disclose the user authentication or security of the Software or any host, network, - or account related thereto or attempt to gain unauthorized access; +(b) sublicensing, licensing, renting, leasing, lending or granting other rights + in the Software including rights on a membership or subscription basis; +(c) providing use of the Software in a service bureau arrangement, outsourcing + or on a time sharing basis; +(d) interfere with or disrupt the Software or systems used to provide the VyOS + or other equipment or networks connected; +(e) circumvent or disclose the user authentication or security of the Software + or any host, network, or account related thereto or attempt to gain + unauthorized access; (f) store or transmit SPAM or malicious code; (g) duplicate the Software or publish the Software for others to copy; (h) infringe the intellectual property rights of any entity or person; or -(i) make any use of the Software that violates any applicable local, - state, national, international or foreign law or regulation. -For more information about how to obtain a custom agreement, please contact us at: sales@vyos.io. +(i) make any use of the Software that violates any applicable local, state, + national, international or foreign law or regulation. + +For more information about how to obtain a custom agreement, please contact us +at: sales@vyos.io. 3.2 The following uses of the Software shall be allowed: -(a) any lab setup within the Licensee or on an Authorized User's personal device, - for the purpose of learning, testing, or debugging company network configs, and -(b) any use in Authorized User's personal home networks, including but not limited to Internet access, - corporate VPN access, learning and experimentation. - -4. Intellectual Property Rights - -The Software and each of their components are owned by Us and other licensors and are protected under copyright law -and other laws as applicable. Title to the Software and any component and systems, -or to any copy or modification shall remain with Us and other licensors, subject to the applicable license. -The “VyOS” mark, the individual Software marks, and the “VyOS” logo are trademarks or registered trademarks -in the EU, US and other countries. -Artwork files that feature the VyOS logo, including but not limited to boot splash images and user interface elements, -are Our property, distributed on the "all rights reserved" basis. -You cannot redistribute those files separately or as part of Software without an express permission from the copyright holder. -By accepting this Agreement You commit not to register or request registration of any commercial name, -domain name, email, trademark, symbol or distinctive; sign, with similar characteristics, color, -typography, style or appearance or that includes the word “VyOS” or/and VyOS logo. +(a) any lab setup within the Licensee or on an Authorized User's personal + device, for the purpose of learning, testing, or debugging company network + configs, and +(b) any use in Authorized User's personal home networks, including but not + limited to Internet access, corporate VPN access, learning and + experimentation. + +4. Intellectual Property Rights + +The Software and each of their components are owned by Us and other licensors +and are protected under copyright law and other laws as applicable. Title to +the Software and any component and systems, or to any copy or modification +shall remain with Us and other licensors, subject to the applicable license. +The "VyOS" mark, the individual Software marks, and the "VyOS" logo are +trademarks or registered trademarks in the EU, US and other countries. Artwork +files that feature the VyOS logo, including but not limited to boot splash +images and user interface elements, are Our property, distributed on the "all +rights reserved" basis. You cannot redistribute those files separately or as +part of Software without an express permission from the copyright holder. By +accepting this Agreement You commit not to register or request registration of +any commercial name, domain name, email, trademark, symbol or distinctive; +sign, with similar characteristics, color, typography, style or appearance or +that includes the word "VyOS" or/and VyOS logo. This EULA does not permit you to distribute the Software using VyOS trademarks, -regardless of whether the Software has been modified. You may make a commercial redistribution of the Software only if -(a) permitted under a separate written agreement with Us authorizing such commercial redistribution or +regardless of whether the Software has been modified. You may make a commercial +redistribution of the Software only if +(a) permitted under a separate written agreement with Us authorizing such + commercial redistribution or (b) you remove and replace all Our occurrences and VyOS trademarks and logos. -Modifications to the software may corrupt the Software. -4.1 The Licensee grants Us a right to use its logos and trademarks -for the purpose of displaying their Licensee status on the VyOS website, -and for the purposes specified in VyOS Subscription Agreement. -We will not claim that the Licensee endorses VyOS and will not publicize any details of Licensee’s VyOS usage, -network setup, or any other information not explicitly provided by the Licensee for public release. +Modifications to the software may corrupt the Software. + +4.1 The Licensee grants Us a right to use its logos and trademarks for the +purpose of displaying their Licensee status on the VyOS website, and for the +purposes specified in VyOS Subscription Agreement. We will not claim that the +Licensee endorses VyOS and will not publicize any details of Licensee's VyOS +usage, network setup, or any other information not explicitly provided by the +Licensee for public release. -4.1.1 The Licensee can revoke Our right to use Licensee’s trademarks and logos at any time, -unless otherwise agreed in VyOS Subscription Agreement, or Our Quotation. +4.1.1 The Licensee can revoke Our right to use Licensee's trademarks and logos +at any time, unless otherwise agreed in VyOS Subscription Agreement, or Our +Quotation. -5. Updates +5. Updates -Along with all software update subscriptions, We provide security updates, hot-fixes and security advisory notifications -before public disclosure (hereinafter collectively referred to as the “Updates”). -You expressly acknowledge and agree that We have no obligation to make available and/or provide any Updates. -All upgrades and Updates are provided by Us or through Our Business Partners to Licensee at Our sole discretion -and are subject to the terms of this Agreement on a license exchange basis. -Any obligations that We may have to support previous versions during the license term may end upon the availability of this update. -Upgrades and Updates may be licensed to Licensee by Us with additional or different terms. +Along with all software update subscriptions, We provide security updates, +hot-fixes and security advisory notifications before public disclosure +(herein after collectively referred to as the "Updates"). You expressly +acknowledge and agree that We have no obligation to make available and/or +provide any Updates. All upgrades and Updates are provided by Us or through +Our Business Partners to Licensee at Our sole discretion and are subject to +the terms of this Agreement on a license exchange basis. Any obligations that +We may have to support previous versions during the license term may end upon +the availability of this update. Upgrades and Updates may be licensed to +Licensee by Us with additional or different terms. 6. Support -This agreement does not automatically entitle the Licensee to any support for the Software provided by Us -or through Our Business Partners unless otherwise specified in the subscription terms. -For the avoidance of doubt, We have no liability and provide no support for any hardware or any cloud marketplace services -provided by any Business Partner or Cloud Provider. -Where available, maintenance and support may be purchased separately subject -to a separate VyOS’s support services included subscriptions. - -Support for software built from source code by a party other than Us, -with or without modifications made by the Licensee or a third party, -is provided only through separate agreements. - -For more information about how to obtain a VyOS’s software and support services included subscriptions, -please contact us at: sales@vyos.io. - -7. Term and Termination - -7. Term and Termination. This Agreement begins on the Effective Date and shall remain in effect until terminated due to -(a) Licensee fails to pay the fees amounts associated to Our subscriptions when due or otherwise materially breaches this Agreement, - specific quotation, purchase order and/or the subscription or customized agreements and fails to remedy the breach - within ten (10) days from the receipt of a notification sent in writing or electronically, -(b) Licensee’s deactivation or subscription cancellation of the Software, -(c) Licensee fails to pay the Business Partner, or terminate the agreement with a Business Partner, or Business Partner - fails to pay Us the applicable fees of your Software and/or Services, or +This agreement does not automatically entitle the Licensee to any support for +the Software provided by Us or through Our Business Partners unless otherwise +specified in the subscription terms. For the avoidance of doubt, We have no +liability and provide no support for any hardware or any cloud marketplace +services provided by any Business Partner or Cloud Provider. Where available, +maintenance and support may be purchased separately subject to a separate +VyOS's support services included subscriptions. + +Support for software built from source code by a party other than Us, with or +without modifications made by the Licensee or a third party, is provided only +through separate agreements. + +For more information about how to obtain a VyOS's software and support services +included subscriptions, please contact us at: sales@vyos.io. + +7. Term and Termination. + +This Agreement begins on the Effective Date and shall remain in effect until +terminated due to +(a) Licensee fails to pay the fees amounts associated to Our subscriptions + when due or otherwise materially breaches this Agreement, specific + quotation, purchase order and/or the subscription or customized agreements + and fails to remedy the breach within ten (10) days from the receipt of a + notification sent in writing or electronically, +(b) Licensee's deactivation or subscription cancellation of the Software, +(c) Licensee fails to pay the Business Partner, or terminate the agreement with + a Business Partner, or Business Partner fails to pay Us the applicable fees + of your Software and/or Services, or (d) We change, cease to provide or discontinue the Software at any time. -Upon the occurrence of (a), (b), (c) or (d), above, We are entitled to terminate this Agreement. -Upon termination of this Agreement for any reason, Licensee shall discontinue use of the Software. -If you have copies of the Software obtained when You still had an active subscription, -you can keep using them indefinitely as long as you comply with this Agreement and VyOS Subscription Agreement, -in particular - with Section 4 above and provided this is not intended to interfere with any rights -you may have from other public and open source licenses.Termination shall not, however, relieve either party -of obligations incurred prior to the termination. The following Sections shall survive termination of this Agreement: -Definitions, Intellectual Property Rights, Limited Warranty, Limitation of Remedies and Liability, -General, Term and Termination, and others which by their nature are intended to survive. - -8. Limited Warranty - -Except as specifically stated in this Section 8, a separate agreement with Us, or a license for a particular component, -to the maximum extent permitted under applicable law, the Software and the components are provided and licensed “as is” -without warranty of any kind, express or implied, including the implied warranties of merchantability, non-infringement, -integration, quiet enjoyment, satisfactory quality or fitness for a particular purpose. -Neither Us nor Our affiliates and Business Partners warrant that the Software will meet your requirements, -will be uninterrupted, timely, secure; that the operation of the Software will be entirely error-free, appear or perform -precisely as described in the accompanying documentation, or comply with regulatory requirements; -that the results that may be obtained from the use of the Software will be effective, accurate or reliable; -the quality of the Software will meet your expectations; or that any errors or defects in the Software will be corrected. -This warranty extends only to the party that purchases subscription services for the Software from Us -and/or Our affiliates or a Our authorized Business Partner. - -We and Our affiliates specifically disclaim any liability with regard to any actions resulting from your use of the Software. -Any material downloaded or otherwise obtained through use of the Software is accessed at your own discretion and risk, -and you will be solely responsible for any damage to your computer system or loss of data that results from use of the Software. -We and Our affiliates assume no liability for any malicious software that may be downloaded to your computer -as a result of your use of the Software. - -We will not be liable for any loss that you may incur as a result of a third party using your password or -account or account information in connection with the Software, either with or without your knowledge. - -Licensee assumes the entire cost of all necessary servicing, repair, or correction of problems caused by viruses -or other harmful components; We disclaim and makes no warranties or representations as to the accuracy, quality, -reliability, suitability, completeness, truthfulness, usefulness, or effectiveness of the outputs, logs, reports, -data, results or other information obtained, generated or otherwise received by Licensee from accessing -and/or using the Software or otherwise resulting from this Agreement; and - -Licensee shall use the Software at its own risk and in no event shall We be liable to Licensee for any loss or damage -of any kind (except personal injury or death resulting from Our negligence, fraud or fraudulent misrepresentation -and any other liability that cannot be excluded by law) arising from Licensee’s use of or inability to use the Software -or from faults or defects in the Software whether caused by negligence or otherwise. - -Licensee agrees to defend, indemnify and hold Us harmless from any losses, liabilities, damages, actions, -claims or expenses (including legal fees and court costs) arising or resulting from Licensee’s breach -of any term of this agreement or caused by acts or omissions performed by licensee. - -Some jurisdictions do not allow the exclusion of certain warranties, the limitation or exclusion of implied warranties, -or limitations on how long an implied warranty may last, so the above limitations may not apply to you. - -9. Limitation of Remedies and Liability - -To the maximum extent permitted under applicable law, under no circumstances will We, Our affiliates, -any of Our authorized Business Partner, or the licensor of any component provided to you under this EULA -be liable to you for any direct, indirect, incidental, special, exemplary, punitive, or consequential damages -(including, but not limited to, procurement of substitute goods or services, computer failure or malfunction, -loss of data or profits, business interruption, etc.) however caused and on any theory of liability, -whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way -out of the use of the software or inability to use the software, even if We, Our affiliates, -an authorized Business Partner, and/or licensor are aware of or have been advised of the possibility of such damage. -To the extent permitted by law and as the maximum aggregate liability, Our or Our affiliates’ liability, -an authorized Business Partner’s liability or the liability of the licensor of a component provided to you under -or in connection with this EULA will be limited to the lesser of either five hundred United States dollars ($500) -or the fees paid by the Licensee or by Business Partner and received by Us for the Software and attributable -to the 6 month period immediately preceding the first event giving rise to such liability. -The limitations and exclusions in this section apply to the maximum extent permitted by applicable law in your jurisdiction. -Some jurisdictions prohibit the exclusion or limitation of liability for incidental, consequential or punitive damages. -Accordingly, the limitations and exclusions set forth above may not apply to you. +Upon the occurrence of (a), (b), (c) or (d), above, We are entitled to +terminate this Agreement. Upon termination of this Agreement for any reason, +Licensee shall discontinue use of the Software. If you have copies of the +Software obtained when You still had an active subscription, you can keep using +them indefinitely as long as you comply with this Agreement and VyOS +Subscription Agreement, in particular - with Section 4 above and provided this +is not intended to interfere with any rights you may have from other public +and open source licenses.Termination shall not, however, relieve either party +of obligations incurred prior to the termination. The following Sections shall +survive termination of this Agreement: Definitions, Intellectual Property +Rights, Limited Warranty, Limitation of Remedies and Liability, General, Term +and Termination, and others which by their nature are intended to survive. + +8. Limited Warranty + +Except as specifically stated in this Section 8, a separate agreement with Us, +or a license for a particular component, to the maximum extent permitted under +applicable law, the Software and the components are provided and licensed +"as is" without warranty of any kind, express or implied, including the +implied warranties of merchantability, non-infringement, integration, quiet +enjoyment, satisfactory quality or fitness for a particular purpose. Neither +Us nor Our affiliates and Business Partners warrant that the Software will +meet your requirements, will be uninterrupted, timely, secure; that the +operation of the Software will be entirely error-free, appear or perform +precisely as described in the accompanying documentation, or comply with +regulatory requirements; that the results that may be obtained from the use of +the Software will be effective, accurate or reliable; the quality of the +Software will meet your expectations; or that any errors or defects in the +Software will be corrected. This warranty extends only to the party that +purchases subscription services for the Software from Us and/or Our affiliates +or a Our authorized Business Partner. + +We and Our affiliates specifically disclaim any liability with regard to any +actions resulting from your use of the Software. Any material downloaded or +otherwise obtained through use of the Software is accessed at your own +discretion and risk, and you will be solely responsible for any damage to your +computer system or loss of data that results from use of the Software. We and +Our affiliates assume no liability for any malicious software that may be +downloaded to your computer as a result of your use of the Software. + +We will not be liable for any loss that you may incur as a result of a third +party using your password or account or account information in connection with +the Software, either with or without your knowledge. + +Licensee assumes the entire cost of all necessary servicing, repair, or +correction of problems caused by viruses or other harmful components; We +disclaim and makes no warranties or representations as to the accuracy, +quality, reliability, suitability, completeness, truthfulness, usefulness, or +effectiveness of the outputs, logs, reports, data, results or other information +obtained, generated or otherwise received by Licensee from accessing and/or +using the Software or otherwise resulting from this Agreement; and Licensee +shall use the Software at its own risk and in no event shall We be liable to +Licensee for any loss or damage of any kind (except personal injury or death +resulting from Our negligence, fraud or fraudulent misrepresentation and any +other liability that cannot be excluded by law) arising from Licensee's use of +or inability to use the Software or from faults or defects in the Software +whether caused by negligence or otherwise. + +Licensee agrees to defend, indemnify and hold Us harmless from any losses, +liabilities, damages, actions, claims or expenses (including legal fees and +court costs) arising or resulting from Licensee's breach of any term of this +agreement or caused by acts or omissions performed by licensee. + +Some jurisdictions do not allow the exclusion of certain warranties, the +limitation or exclusion of implied warranties, or limitations on how long an +implied warranty may last, so the above limitations may not apply to you. + +9. Limitation of Remedies and Liability + +To the maximum extent permitted under applicable law, under no circumstances +will We, Our affiliates, any of Our authorized Business Partner, or the +licensor of any component provided to you under this EULA be liable to you for +any direct, indirect, incidental, special, exemplary, punitive, or +consequential damages (including, but not limited to, procurement of substitute +goods or services, computer failure or malfunction, loss of data or profits, +business interruption, etc.) however caused and on any theory of liability, +whether in contract, strict liability, or tort (including negligence or +otherwise) arising in any way out of the use of the software or inability to +use the software, even if We, Our affiliates, an authorized Business Partner, +and/or licensor are aware of or have been advised of the possibility of such +damage. To the extent permitted by law and as the maximum aggregate liability, +Our or Our affiliates' liability, an authorized Business Partner's liability +or the liability of the licensor of a component provided to you under or in +connection with this EULA will be limited to the lesser of either five hundred +United States dollars ($500) or the fees paid by the Licensee or by Business +Partner and received by Us for the Software and attributable to the 6 month +period immediately preceding the first event giving rise to such liability. The +limitations and exclusions in this section apply to the maximum extent +permitted by applicable law in your jurisdiction. Some jurisdictions prohibit +the exclusion or limitation of liability for incidental, consequential or +punitive damages. Accordingly, the limitations and exclusions set forth above +may not apply to you. 10. Compliance and Export Control -You understand that countries may restrict the import, use, export, re-export or transfer of encryption products -and other controlled materials (which may include the Software or related technical information licensed hereunder). -You agree to comply with export regulations by the Bureau of Industry and Security of the U.S. Department of Commerce -and all applicable laws, restrictions and regulations in Your use of the Software, including but not limited to -export restrictions of various countries that the Software may be subject to, and personal data protection regulations. -You should comply with and oblige to secure Us from any breach of any law and regulation, -from any claim or litigation arising as a result of such breach and to reimburse Us any loss, resulting from such breach. -You will not use the Software for a prohibited use. -10.1 Sanctions compliance. You undertake to follow that You and any person, allowed to use the Software and the Services by You, -is not a subject or the target of sanctions, embargoes and restrictive measures (“Sanctions”), -administered by the Office of Foreign Assets Control of the U.S. Department of the Treasury or the U.S. Department of State, -the United Nations Security Council, the European Union, Her Majesty’s Treasury of the United Kingdom, +You understand that countries may restrict the import, use, export, re-export +or transfer of encryption products and other controlled materials (which may +include the Software or related technical information licensed hereunder). You +agree to comply with export regulations by the Bureau of Industry and Security +of the U.S. Department of Commerce and all applicable laws, restrictions and +regulations in Your use of the Software, including but not limited to export +restrictions of various countries that the Software may be subject to, and +personal data protection regulations. You should comply with and oblige to +secure Us from any breach of any law and regulation, from any claim or +litigation arising as a result of such breach and to reimburse Us any loss, +resulting from such breach. You will not use the Software for a prohibited use. +10.1 Sanctions compliance. You undertake to follow that You and any person, +allowed to use the Software and the Services by You, is not a subject or the +target of sanctions, embargoes and restrictive measures ("Sanctions"), +administered by the Office of Foreign Assets Control of the U.S. Department of +the Treasury or the U.S. Department of State, the United Nations Security +Council, the European Union, Her Majesty's Treasury of the United Kingdom, Department of Foreign Affairs and Trade of the Australian Federal Government, -or other relevant sanctions authority (“Sanctioning Authorities”). +or other relevant sanctions authority ("Sanctioning Authorities"). -You undertake to comply with all the abovementioned Sanctions in all possible ways to keep Us harmless -and oblige to immediately terminate relations with any person that becomes (or is) -subject or target of any of the abovementioned Sanctions, or assists anybody to evade or violate the above mentioned Sanctions. +You undertake to comply with all the abovementioned Sanctions in all possible +ways to keep Us harmless and oblige to immediately terminate relations with +any person that becomes (or is) subject or target of any of the abovementioned +Sanctions, or assists anybody to evade or violate the above mentioned Sanctions. -11. Third-Party Beneficiary +11. Third-Party Beneficiary -Licensee acknowledges and agrees that Our licensors (and/or Us if Licensee obtained the Software from any party other than Us) -are third party beneficiaries of this Agreement, with the right to enforce the obligations set forth herein -with respect to the respective technology of such licensors and/or Ours. +Licensee acknowledges and agrees that Our licensors (and/or Us if Licensee +obtained the Software from any party other than Us) are third party +beneficiaries of this Agreement, with the right to enforce the obligations set +forth herein with respect to the respective technology of such licensors and/or +Ours. 12. Third-party components, contributions and software programs We do not assert any Intellectual Property Rights over: -(i) components created by third parties that may be taken from upstream sources in binary form compiled by Us from the source code; -(ii) source code and documentation of the Software, which is developed collaboratively - and is open to contributions by parties not affiliated with Us (to such purpose, contributors give Us non-exclusive rights - according to the licenses of the Software and documentation); -(iii) third parties software or programs included therein or therewith the Software. +(a) components created by third parties that may be taken from upstream + sources in binary form compiled by Us from the source code; +(b) source code and documentation of the Software, which is develope + ollaboratively and is open to contributions by parties not affiliated with + Us (to such purpose, contributors give Us non-exclusive rights according + to the licenses of the Software and documentation); +(c) third parties software or programs included therein or therewith the + Software. 13. General -If any provision of this EULA is held to be unenforceable, the enforceability of the remaining provisions shall not be affected. +If any provision of this EULA is held to be unenforceable, the enforceability +of the remaining provisions shall not be affected. -Updates and upgrades may be licensed to Licensee by Us with additional or different terms. +Updates and upgrades may be licensed to Licensee by Us with additional or +different terms. -You are not allowed to transfer or assign this EULA or any rights hereunder, unless with Our previous written consent. -Please inform Us of Your intention to transfer or assign in advance so We can respond accordingly. -Conversely, We may transfer, assign, sublicense or delegate the EULA or any portions thereof, without restriction. -We also may subcontract any performance associated with the Software to third parties, -provided that such subcontract does not relieve Us of any of Our obligations under this EULA. +You are not allowed to transfer or assign this EULA or any rights hereunder, +unless with Our previous written consent. Please inform Us of Your intention +to transfer or assign in advance so We can respond accordingly. Conversely, We +may transfer, assign, sublicense or delegate the EULA or any portions thereof, +without restriction. We also may subcontract any performance associated with +the Software to third parties, provided that such subcontract does not relieve +Us of any of Our obligations under this EULA. -Licensee may not sublicense, transfer or assign, whether voluntarily or by operation of law, -any right or license in or to the Software. Any attempted sublicense, transfer or assignment shall be void. +Licensee may not sublicense, transfer or assign, whether voluntarily or by +operation of law, any right or license in or to the Software. Any attempted +sublicense, transfer or assignment shall be void. We may, from time-to-time modify this agreement. -Licensee shall comply with all applicable laws and regulations pertaining to this Agreement - -This Agreement, along with a VyOS Subscription Agreement, Privacy Policy and Terms and Conditions, -any quotation, purchase order and services level agreement, if applicable, and any other documents -deemed to be incorporated by reference in it, constitutes the entire agreement between the parties -with respect to its subject matter and it supersedes all prior or contemporaneous agreements concerning such matter. -If you order VyOS from a Business Partner, then any agreement that you enter into with a Business Partner -is solely between you and a Business Partner and will not be binding on Us. - -In the table below, “Customer Location” refers to where Customer is located -(as determined by Customer’s business address on the invoice) and determines which table row applies to Customer: - -Customer Location* VyOS Contracting Entity Governing Law Venue/Courts -North & South America VyOS Inc California Poway -EEA & UK -(except Spain & Portugal) VyOS EMEA Operations Limited Ireland Cork -Spain, Andorra & Portugal VyOS Networks Iberia SLU Spain Madrid -Asia & Oceania VyOS APAC Pty Ltd Australia Sydney -Non-EEA parts of Europe, Middle East, & Africa -(except Andorra) VyOS Networks Cyprus Limited Cyprus Limassol - -*all sales via Cloud Providers are generally done by VyOS Inc., -unless otherwise decided by Us regardless of Customer location. - -References to “We”, “Our”, “Us” are references to the applicable VyOS Contracting Entity specified in the Contracting Entity Table, -unless otherwise has been decided for operational purposes, in the Quotation and in the invoice. The Services are provided by that VyOS Contracting Entity. - -This Agreement, and any disputes arising out of or related hereto, will be governed exclusively by the applicable governing law above, -without giving effect to any of its conflicts of laws, rules or principles. -The courts located in the applicable venue above will have exclusive jurisdiction to adjudicate any dispute arising out of -or relating to this Agreement or its formation, interpretation, or enforcement. Each party hereby consents and submits -to the exclusive jurisdiction of such courts. Before resorting to any external dispute resolution mechanisms, -the parties agree to use their best efforts in good faith to settle any dispute in relation to the Agreement. - -We may, in our sole discretion, amend this EULA at any time by posting a revised version thereof on Our website and, -by updating the “last updated” date on the applicable page, or by providing reasonable notice. -Your continued use of the Software following changes to the Agreement after the effective date of a revised version thereof -constitutes Your expressed acceptance of and the agreement to be bound by the Agreement and its future versions or updates. +Licensee shall comply with all applicable laws and regulations pertaining to +this Agreement + +This Agreement, along with a VyOS Subscription Agreement, Privacy Policy and +Terms and Conditions, any quotation, purchase order and services level +agreement, if applicable, and any other documents deemed to be incorporated by +reference in it, constitutes the entire agreement between the parties with +respect to its subject matter and it supersedes all prior or contemporaneous +agreements concerning such matter. If you order VyOS from a Business Partner, +then any agreement that you enter into with a Business Partner is solely +between you and a Business Partner and will not be binding on Us. + +In the table below, "Customer Location" refers to where Customer is located +(as determined by Customer's business address on the invoice) and determines +which table row applies to Customer: + +Customer Location* VyOS Contracting Entity Governing Law Venue/Courts +================== ======================= ============= ============ +North & South America VyOS Inc California Poway + +EEA & UK VyOS EMEA Operations Ireland Cork +(except Spain & Portugal) Limited + +Spain, Andorra & Portugal VyOS Networks Iberia SLU Spain Madrid + +Asia & Oceania VyOS APAC Pty Ltd Australia Sydney + +Non-EEA parts of Europe, VyOS Networks Cyprus Cyprus Limassol +Middle East, & Africa Limited +(except Andorra) + +*all sales via Cloud Providers are generally done by VyOS Inc., unless +otherwise decided by Us regardless of Customer location. + +References to "We", "Our", "Us" are references to the applicable VyOS +Contracting Entity specified in the Contracting Entity Table, unless otherwise +has been decided for operational purposes, in the Quotation and in the invoice. +The Services are provided by that VyOS Contracting Entity. + +This Agreement, and any disputes arising out of or related hereto, will be +governed exclusively by the applicable governing law above, without giving +effect to any of its conflicts of laws, rules or principles. The courts located +in the applicable venue above will have exclusive jurisdiction to adjudicate +any dispute arising out of or relating to this Agreement or its formation, +interpretation, or enforcement. Each party hereby consents and submits to the +exclusive jurisdiction of such courts. Before resorting to any external dispute +resolution mechanisms, the parties agree to use their best efforts in good +faith to settle any dispute in relation to the Agreement. + +We may, in our sole discretion, amend this EULA at any time by posting a +revised version thereof on Our website and, by updating the "last updated" +date on the applicable page, or by providing reasonable notice. Your continued +use of the Software following changes to the Agreement after the effective +date of a revised version thereof constitutes Your expressed acceptance of and +the agreement to be bound by the Agreement and its future versions or updates. ''' diff --git a/scripts/package-build/.gitignore b/scripts/package-build/.gitignore new file mode 100644 index 00000000..a1b8b226 --- /dev/null +++ b/scripts/package-build/.gitignore @@ -0,0 +1,8 @@ +*.buildinfo +*.build +*.changes +*.deb +*.udeb +*.dsc +*.tar.gz +*.tar.xz diff --git a/scripts/package-build/amazon-cloudwatch-agent/.gitignore b/scripts/package-build/amazon-cloudwatch-agent/.gitignore index 7f8e0127..5eb3e42a 100644 --- a/scripts/package-build/amazon-cloudwatch-agent/.gitignore +++ b/scripts/package-build/amazon-cloudwatch-agent/.gitignore @@ -1,7 +1 @@ -amazon-cloudwatch-agent/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz +/amazon-cloudwatch-agent/ diff --git a/scripts/package-build/amazon-cloudwatch-agent/package.toml b/scripts/package-build/amazon-cloudwatch-agent/package.toml index 833096d4..120a17f9 100644 --- a/scripts/package-build/amazon-cloudwatch-agent/package.toml +++ b/scripts/package-build/amazon-cloudwatch-agent/package.toml @@ -5,7 +5,7 @@ scm_url = "https://github.com/aws/amazon-cloudwatch-agent" build_cmd = """ -make prepackage package-deb +make clean test check_secrets amazon-cloudwatch-agent-linux package-deb ARCH=$(dpkg --print-architecture) TAG=$(git describe --tags --abbrev=0) COMMIT=$(git rev-parse --short HEAD) diff --git a/scripts/package-build/amazon-ssm-agent/.gitignore b/scripts/package-build/amazon-ssm-agent/.gitignore index f70728cf..78fa9ab9 100644 --- a/scripts/package-build/amazon-ssm-agent/.gitignore +++ b/scripts/package-build/amazon-ssm-agent/.gitignore @@ -1,7 +1 @@ -amazon-ssm-agent/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz +/amazon-ssm-agent/ diff --git a/scripts/package-build/aws-gwlbtun/.gitignore b/scripts/package-build/aws-gwlbtun/.gitignore index 0fe7946f..dab49f62 100644 --- a/scripts/package-build/aws-gwlbtun/.gitignore +++ b/scripts/package-build/aws-gwlbtun/.gitignore @@ -1,8 +1 @@ -aws-gwlbtun*/ -*.tar.gz -*.tar.xz -*.deb -*.dsc -*.buildinfo -*.build -*.changes
\ No newline at end of file +/aws-gwlbtun*/ diff --git a/scripts/package-build/build.py b/scripts/package-build/build.py index 7212b6cf..d64a7378 100755 --- a/scripts/package-build/build.py +++ b/scripts/package-build/build.py @@ -58,7 +58,6 @@ def apply_patches(repo_dir: Path, patch_dir: Path) -> None: series.write(patch.name + '\n') print(f"I: Applied patch: {patch.name}") - def prepare_package(repo_dir: Path, install_data: str) -> None: """Prepare a package""" if not install_data: @@ -95,7 +94,7 @@ def build_package(package: list, patch_dir: Path) -> None: # Apply patches if any if (repo_dir / 'patches'): - apply_patches(repo_dir, patch_dir) + apply_patches(repo_dir, patch_dir / repo_name) # Sanitize the commit ID and build a tarball for the package commit_id_sanitized = package['commit_id'].replace('/', '_') diff --git a/scripts/package-build/ddclient/.gitignore b/scripts/package-build/ddclient/.gitignore index aeb8af66..17d0b753 100644 --- a/scripts/package-build/ddclient/.gitignore +++ b/scripts/package-build/ddclient/.gitignore @@ -1,7 +1 @@ -ddclient/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc - +/ddclient/ diff --git a/scripts/package-build/dropbear/.gitignore b/scripts/package-build/dropbear/.gitignore index 3d080d7c..58c2ff3d 100644 --- a/scripts/package-build/dropbear/.gitignore +++ b/scripts/package-build/dropbear/.gitignore @@ -1,7 +1 @@ -dropbear/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz +/dropbear/ diff --git a/scripts/package-build/dropbear/patches/0001-Enable-PAM-support.patch b/scripts/package-build/dropbear/patches/dropbear/0001-Enable-PAM-support.patch index fa6cf620..fa6cf620 100644 --- a/scripts/package-build/dropbear/patches/0001-Enable-PAM-support.patch +++ b/scripts/package-build/dropbear/patches/dropbear/0001-Enable-PAM-support.patch diff --git a/scripts/package-build/ethtool/.gitignore b/scripts/package-build/ethtool/.gitignore index f964bd07..16adf9e5 100644 --- a/scripts/package-build/ethtool/.gitignore +++ b/scripts/package-build/ethtool/.gitignore @@ -1,7 +1 @@ -ethtool/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc - +/ethtool/ diff --git a/scripts/package-build/frr/.gitignore b/scripts/package-build/frr/.gitignore index f22f6747..93dfaca8 100644 --- a/scripts/package-build/frr/.gitignore +++ b/scripts/package-build/frr/.gitignore @@ -1,9 +1,3 @@ -frr/ -rtrlib/ -libyang/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz +/frr/ +/rtrlib/ +/libyang/ diff --git a/scripts/package-build/frr/patches/0001-Enable-PCRE2-in-Debian-package-builds.patch b/scripts/package-build/frr/patches/frr/0001-Enable-PCRE2-in-Debian-package-builds.patch index c31c4a85..545e7d5e 100644 --- a/scripts/package-build/frr/patches/0001-Enable-PCRE2-in-Debian-package-builds.patch +++ b/scripts/package-build/frr/patches/frr/0001-Enable-PCRE2-in-Debian-package-builds.patch @@ -15,7 +15,7 @@ index 43e5d7e61..1f971ab22 100755 --enable-vty-group=frrvty \ --enable-configfile-mask=0640 \ --enable-logfile-mask=0640 \ -+ --enable-pcre2posix \ ++ --enable-pcre2posix \ # end override_dh_auto_install: diff --git a/scripts/package-build/frr/patches/frr/0003-Clear-Babel-Config-On-Stop.patch b/scripts/package-build/frr/patches/frr/0003-Clear-Babel-Config-On-Stop.patch new file mode 100644 index 00000000..fea45891 --- /dev/null +++ b/scripts/package-build/frr/patches/frr/0003-Clear-Babel-Config-On-Stop.patch @@ -0,0 +1,29 @@ +From c3c70e87b040233263b9594d14582dfedfecc92e Mon Sep 17 00:00:00 2001 +From: Yaroslav Kholod <y.kholod@vyos.io> +Date: Wed, 18 Dec 2024 11:48:29 +0200 +Subject: [PATCH] #17413: Clean babeld config on stop + +--- + babeld/babeld.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/babeld/babeld.c b/babeld/babeld.c +index b562f0b70..6f1a9a3d7 100644 +--- a/babeld/babeld.c ++++ b/babeld/babeld.c +@@ -304,6 +304,12 @@ void babel_clean_routing_process(void) + flush_all_routes(); + babel_interface_close_all(); + ++ /* Clean babel config */ ++ diversity_kind = DIVERSITY_NONE; ++ diversity_factor = BABEL_DEFAULT_DIVERSITY_FACTOR; ++ resend_delay = BABEL_DEFAULT_RESEND_DELAY; ++ smoothing_half_life = BABEL_DEFAULT_SMOOTHING_HALF_LIFE; ++ + /* cancel events */ + event_cancel(&babel_routing_process->t_read); + event_cancel(&babel_routing_process->t_update); +-- +2.43.0 + diff --git a/scripts/package-build/frr_exporter/.gitignore b/scripts/package-build/frr_exporter/.gitignore index 4880abf9..aee4cba5 100644 --- a/scripts/package-build/frr_exporter/.gitignore +++ b/scripts/package-build/frr_exporter/.gitignore @@ -1,6 +1 @@ -frr_exporter / -*.buildinfo -*.build -*.changes -*.deb -*.dsc +/frr_exporter/ diff --git a/scripts/package-build/hostap/.gitignore b/scripts/package-build/hostap/.gitignore index f9c7eb32..1a2c97d8 100644 --- a/scripts/package-build/hostap/.gitignore +++ b/scripts/package-build/hostap/.gitignore @@ -1,7 +1,2 @@ -hostap/ -wpa/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc +/hostap/ +/wpa/ diff --git a/scripts/package-build/hsflowd/.gitignore b/scripts/package-build/hsflowd/.gitignore index ecb384cd..aebf1d06 100644 --- a/scripts/package-build/hsflowd/.gitignore +++ b/scripts/package-build/hsflowd/.gitignore @@ -1,7 +1 @@ -host-sflow/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz +/host-sflow/ diff --git a/scripts/package-build/isc-dhcp/.gitignore b/scripts/package-build/isc-dhcp/.gitignore index 3f2ca44a..41aa96b8 100644 --- a/scripts/package-build/isc-dhcp/.gitignore +++ b/scripts/package-build/isc-dhcp/.gitignore @@ -1,7 +1 @@ -isc-dhcp/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz +/isc-dhcp/ diff --git a/scripts/package-build/isc-dhcp/patches/0001-Add-support-for-raw-IP-interface-type.patch b/scripts/package-build/isc-dhcp/patches/isc-dhcp/0001-Add-support-for-raw-IP-interface-type.patch index c13569ad..c13569ad 100644 --- a/scripts/package-build/isc-dhcp/patches/0001-Add-support-for-raw-IP-interface-type.patch +++ b/scripts/package-build/isc-dhcp/patches/isc-dhcp/0001-Add-support-for-raw-IP-interface-type.patch diff --git a/scripts/package-build/isc-dhcp/patches/0002-Checkpoint-improved-patch.patch b/scripts/package-build/isc-dhcp/patches/isc-dhcp/0002-Checkpoint-improved-patch.patch index 60b693f6..60b693f6 100644 --- a/scripts/package-build/isc-dhcp/patches/0002-Checkpoint-improved-patch.patch +++ b/scripts/package-build/isc-dhcp/patches/isc-dhcp/0002-Checkpoint-improved-patch.patch diff --git a/scripts/package-build/isc-dhcp/patches/0003-fix-compilation-errors.patch b/scripts/package-build/isc-dhcp/patches/isc-dhcp/0003-fix-compilation-errors.patch index c66e0c7c..c66e0c7c 100644 --- a/scripts/package-build/isc-dhcp/patches/0003-fix-compilation-errors.patch +++ b/scripts/package-build/isc-dhcp/patches/isc-dhcp/0003-fix-compilation-errors.patch diff --git a/scripts/package-build/isc-dhcp/patches/0004-add-support-for-ARPHRD_NONE-interface-type.patch b/scripts/package-build/isc-dhcp/patches/isc-dhcp/0004-add-support-for-ARPHRD_NONE-interface-type.patch index 32089b4d..32089b4d 100644 --- a/scripts/package-build/isc-dhcp/patches/0004-add-support-for-ARPHRD_NONE-interface-type.patch +++ b/scripts/package-build/isc-dhcp/patches/isc-dhcp/0004-add-support-for-ARPHRD_NONE-interface-type.patch diff --git a/scripts/package-build/kea/.gitignore b/scripts/package-build/kea/.gitignore index 1f9d42c9..70219f63 100644 --- a/scripts/package-build/kea/.gitignore +++ b/scripts/package-build/kea/.gitignore @@ -1,7 +1 @@ -isc-kea/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc - +/isc-kea/ diff --git a/scripts/package-build/keepalived/.gitignore b/scripts/package-build/keepalived/.gitignore index fa96cd3f..b6513f29 100644 --- a/scripts/package-build/keepalived/.gitignore +++ b/scripts/package-build/keepalived/.gitignore @@ -1,7 +1 @@ -keepalived/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc - +/keepalived/ diff --git a/scripts/package-build/keepalived/patches/0001-vrrp-Set-sysctl-arp_ignore-to-1-on-IPv6-VMACs.patch b/scripts/package-build/keepalived/patches/keepalived/0001-vrrp-Set-sysctl-arp_ignore-to-1-on-IPv6-VMACs.patch index b099dc7b..b099dc7b 100644 --- a/scripts/package-build/keepalived/patches/0001-vrrp-Set-sysctl-arp_ignore-to-1-on-IPv6-VMACs.patch +++ b/scripts/package-build/keepalived/patches/keepalived/0001-vrrp-Set-sysctl-arp_ignore-to-1-on-IPv6-VMACs.patch diff --git a/scripts/package-build/ndppd/.gitignore b/scripts/package-build/ndppd/.gitignore index 2b71e9fb..4983088e 100644 --- a/scripts/package-build/ndppd/.gitignore +++ b/scripts/package-build/ndppd/.gitignore @@ -1,7 +1 @@ -ndppd/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc - +/ndppd/ diff --git a/scripts/package-build/ndppd/patches/0001-skip-route-table-if-there-is-no-auto-rule.patch b/scripts/package-build/ndppd/patches/ndppd/0001-skip-route-table-if-there-is-no-auto-rule.patch index df6d2e5c..df6d2e5c 100644 --- a/scripts/package-build/ndppd/patches/0001-skip-route-table-if-there-is-no-auto-rule.patch +++ b/scripts/package-build/ndppd/patches/ndppd/0001-skip-route-table-if-there-is-no-auto-rule.patch diff --git a/scripts/package-build/ndppd/patches/0002-set-vyos-version.patch b/scripts/package-build/ndppd/patches/ndppd/0002-set-vyos-version.patch index 3fef87c4..3fef87c4 100644 --- a/scripts/package-build/ndppd/patches/0002-set-vyos-version.patch +++ b/scripts/package-build/ndppd/patches/ndppd/0002-set-vyos-version.patch diff --git a/scripts/package-build/net-snmp/.gitignore b/scripts/package-build/net-snmp/.gitignore index 67811e63..ce30b515 100644 --- a/scripts/package-build/net-snmp/.gitignore +++ b/scripts/package-build/net-snmp/.gitignore @@ -1,6 +1 @@ -net-snmp/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc +/net-snmp/ diff --git a/scripts/package-build/net-snmp/patches/add-linux-6.7-compatibility-parsing.patch b/scripts/package-build/net-snmp/patches/net-snmp/add-linux-6.7-compatibility-parsing.patch index b6dcd77a..b6dcd77a 100644 --- a/scripts/package-build/net-snmp/patches/add-linux-6.7-compatibility-parsing.patch +++ b/scripts/package-build/net-snmp/patches/net-snmp/add-linux-6.7-compatibility-parsing.patch diff --git a/scripts/package-build/netfilter/.gitignore b/scripts/package-build/netfilter/.gitignore index c6444404..ea401bf3 100644 --- a/scripts/package-build/netfilter/.gitignore +++ b/scripts/package-build/netfilter/.gitignore @@ -1,8 +1,2 @@ /pkg-libnftnl/ /pkg-nftables/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz diff --git a/scripts/package-build/netfilter/build.py b/scripts/package-build/netfilter/build.py index d15b5770..3c76af73 100755..120000 --- a/scripts/package-build/netfilter/build.py +++ b/scripts/package-build/netfilter/build.py @@ -1,195 +1 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2024 VyOS maintainers and contributors -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 or later as -# published by the Free Software Foundation. -# -# 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 <http://www.gnu.org/licenses/>. -# - -import glob -import shutil -import toml -import os - -from argparse import ArgumentParser -from pathlib import Path -from subprocess import run, CalledProcessError - - -def ensure_dependencies(dependencies: list) -> None: - """Ensure Debian build dependencies are met""" - if not dependencies: - print("I: No additional dependencies to install") - return - - print("I: Ensure Debian build dependencies are met") - run(['sudo', 'apt-get', 'update'], check=True) - run(['sudo', 'apt-get', 'install', '-y'] + dependencies, check=True) - - -def apply_patches(repo_dir: Path, patch_dir: Path, package_name: str) -> None: - """Apply patches from the patch directory to the repository""" - package_patch_dir = patch_dir / package_name - if package_patch_dir.exists() and package_patch_dir.is_dir(): - patches = list(package_patch_dir.glob('*')) - else: - print(f"I: No patch directory found for {package_name} in {patch_dir}") - return - - # Filter out directories from patches list - patches = [patch for patch in patches if patch.is_file()] - - if not patches: - print(f"I: No patches found in {package_patch_dir}") - return - - debian_patches_dir = repo_dir / 'debian/patches' - debian_patches_dir.mkdir(parents=True, exist_ok=True) - - series_file = debian_patches_dir / 'series' - with series_file.open('a') as series: - for patch in patches: - patch_dest = debian_patches_dir / patch.name - try: - # Ensure the patch file exists before copying - if patch.exists(): - shutil.copy(patch, patch_dest) - series.write(patch.name + '\n') - print(f"I: Applied patch: {patch.name}") - else: - print(f"W: Patch file {patch} not found, skipping") - except FileNotFoundError: - print(f"W: Patch file {patch} not found, skipping") - - -def prepare_package(repo_dir: Path, install_data: str) -> None: - """Prepare a package""" - if not install_data: - print("I: No install data provided, skipping package preparation") - return - - try: - install_file = repo_dir / 'debian/install' - install_file.parent.mkdir(parents=True, exist_ok=True) - install_file.write_text(install_data) - print("I: Prepared package") - except Exception as e: - print(f"Failed to prepare package: {e}") - raise - - -def build_package(package: dict, dependencies: list, patch_dir: Path) -> None: - """Build a package from the repository - - Args: - package (dict): Package information - dependencies (list): List of additional dependencies - patch_dir (Path): Directory containing patches - """ - repo_name = package['name'] - repo_dir = Path(repo_name) - - try: - # Clone the repository if it does not exist - if not repo_dir.exists(): - run(['git', 'clone', package['scm_url'], str(repo_dir)], check=True) - - # Check out the specific commit - run(['git', 'checkout', package['commit_id']], cwd=repo_dir, check=True) - - # Ensure dependencies - ensure_dependencies(dependencies) - - # Apply patches if any - apply_patches(repo_dir, patch_dir, repo_name) - - # Sanitize the commit ID and build a tarball for the package - commit_id_sanitized = package['commit_id'].replace('/', '_') - tarball_name = f"{repo_name}_{commit_id_sanitized}.tar.gz" - run(['tar', '-czf', tarball_name, '-C', str(repo_dir.parent), repo_name], check=True) - print(f"I: Tarball created: {tarball_name}") - - # Prepare the package if required - if package.get('prepare_package', False): - prepare_package(repo_dir, package.get('install_data', '')) - - # Build dependency package and install it - if (repo_dir / 'debian/control').exists(): - try: - run('sudo mk-build-deps --install --tool "apt-get --yes --no-install-recommends"', cwd=repo_dir, check=True, shell=True) - run('sudo dpkg -i *build-deps*.deb', cwd=repo_dir, check=True, shell=True) - except CalledProcessError as e: - print(f"Failed to build package {repo_name}: {e}") - - # Build the package, check if we have build_cmd in the package.toml - build_cmd = package.get('build_cmd', 'dpkg-buildpackage -uc -us -tc -b') - run(build_cmd, cwd=repo_dir, check=True, shell=True) - - except CalledProcessError as e: - print(f"Failed to build package {repo_name}: {e}") - finally: - # Clean up repository directory - # shutil.rmtree(repo_dir, ignore_errors=True) - pass - - -def cleanup_build_deps(repo_dir: Path) -> None: - """Clean up build dependency packages""" - try: - if repo_dir.exists(): - for file in glob.glob(str(repo_dir / '*build-deps*.deb')): - os.remove(file) - print("Cleaned up build dependency packages") - except Exception as e: - print(f"Error cleaning up build dependencies: {e}") - - -def copy_packages(repo_dir: Path) -> None: - """Copy generated .deb packages to the parent directory""" - try: - deb_files = glob.glob(str(repo_dir / '*.deb')) - for deb_file in deb_files: - shutil.copy(deb_file, repo_dir.parent) - print(f'I: copy generated "{deb_file}" package') - except Exception as e: - print(f"Error copying packages: {e}") - - -if __name__ == '__main__': - # Prepare argument parser - arg_parser = ArgumentParser() - arg_parser.add_argument('--config', - default='package.toml', - help='Path to the package configuration file') - arg_parser.add_argument('--patch-dir', - default='patches', - help='Path to the directory containing patches') - args = arg_parser.parse_args() - - # Load package configuration - with open(args.config, 'r') as file: - config = toml.load(file) - - packages = config['packages'] - patch_dir = Path(args.patch_dir) - - for package in packages: - dependencies = package.get('dependencies', {}).get('packages', []) - - # Build the package - build_package(package, dependencies, patch_dir) - - # Clean up build dependency packages after build - cleanup_build_deps(Path(package['name'])) - - # Copy generated .deb packages to parent directory - copy_packages(Path(package['name'])) +../build.py
\ No newline at end of file diff --git a/scripts/package-build/node_exporter/.gitignore b/scripts/package-build/node_exporter/.gitignore index 0e010f4d..25d6ffd3 100644 --- a/scripts/package-build/node_exporter/.gitignore +++ b/scripts/package-build/node_exporter/.gitignore @@ -1,7 +1 @@ node_exporter/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc - diff --git a/scripts/package-build/opennhrp/.gitignore b/scripts/package-build/opennhrp/.gitignore index 65d0752b..a06f6fde 100644 --- a/scripts/package-build/opennhrp/.gitignore +++ b/scripts/package-build/opennhrp/.gitignore @@ -1,6 +1 @@ -opennhrp/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc +/opennhrp/ diff --git a/scripts/package-build/openvpn-otp/.gitignore b/scripts/package-build/openvpn-otp/.gitignore index 60dd3cad..90268525 100644 --- a/scripts/package-build/openvpn-otp/.gitignore +++ b/scripts/package-build/openvpn-otp/.gitignore @@ -1,7 +1 @@ -openvpn-otp/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz +/openvpn-otp/ diff --git a/scripts/package-build/owamp/.gitignore b/scripts/package-build/owamp/.gitignore index 4a97524e..c6efde63 100644 --- a/scripts/package-build/owamp/.gitignore +++ b/scripts/package-build/owamp/.gitignore @@ -1,6 +1 @@ -owamp/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc +/owamp/ diff --git a/scripts/package-build/pmacct/.gitignore b/scripts/package-build/pmacct/.gitignore index 7007417a..65042174 100644 --- a/scripts/package-build/pmacct/.gitignore +++ b/scripts/package-build/pmacct/.gitignore @@ -1,6 +1 @@ -pmacct/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc +/pmacct/ diff --git a/scripts/package-build/pmacct/patches/0001-fix-pmacctd-SEGV-when-ICMP-ICMPv6-traffic-was-proces.patch b/scripts/package-build/pmacct/patches/pmacct/0001-fix-pmacctd-SEGV-when-ICMP-ICMPv6-traffic-was-proces.patch index cb5f7399..cb5f7399 100644 --- a/scripts/package-build/pmacct/patches/0001-fix-pmacctd-SEGV-when-ICMP-ICMPv6-traffic-was-proces.patch +++ b/scripts/package-build/pmacct/patches/pmacct/0001-fix-pmacctd-SEGV-when-ICMP-ICMPv6-traffic-was-proces.patch diff --git a/scripts/package-build/podman/.gitignore b/scripts/package-build/podman/.gitignore index 22c40b0e..dfba60a6 100644 --- a/scripts/package-build/podman/.gitignore +++ b/scripts/package-build/podman/.gitignore @@ -1,7 +1 @@ -podman/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc - +/podman/ diff --git a/scripts/package-build/pyhumps/.gitignore b/scripts/package-build/pyhumps/.gitignore index 6a90d1c9..27979294 100644 --- a/scripts/package-build/pyhumps/.gitignore +++ b/scripts/package-build/pyhumps/.gitignore @@ -1,7 +1 @@ -humps/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc - +/humps/ diff --git a/scripts/package-build/radvd/.gitignore b/scripts/package-build/radvd/.gitignore index 9c37832b..b3761965 100644 --- a/scripts/package-build/radvd/.gitignore +++ b/scripts/package-build/radvd/.gitignore @@ -1,6 +1 @@ -radvd/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc +/radvd/ diff --git a/scripts/package-build/strongswan/.gitignore b/scripts/package-build/strongswan/.gitignore index f1ad761d..e4c36e8f 100644 --- a/scripts/package-build/strongswan/.gitignore +++ b/scripts/package-build/strongswan/.gitignore @@ -1,7 +1 @@ -strongswan/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz +/strongswan/ diff --git a/scripts/package-build/strongswan/patches/0001-charon-add-optional-source-and-remote-overrides-for-.patch b/scripts/package-build/strongswan/patches/strongswan/0001-charon-add-optional-source-and-remote-overrides-for-.patch index ceb47350..ceb47350 100644 --- a/scripts/package-build/strongswan/patches/0001-charon-add-optional-source-and-remote-overrides-for-.patch +++ b/scripts/package-build/strongswan/patches/strongswan/0001-charon-add-optional-source-and-remote-overrides-for-.patch diff --git a/scripts/package-build/strongswan/patches/0002-vici-send-certificates-for-ike-sa-events.patch b/scripts/package-build/strongswan/patches/strongswan/0002-vici-send-certificates-for-ike-sa-events.patch index 13e657e9..13e657e9 100644 --- a/scripts/package-build/strongswan/patches/0002-vici-send-certificates-for-ike-sa-events.patch +++ b/scripts/package-build/strongswan/patches/strongswan/0002-vici-send-certificates-for-ike-sa-events.patch diff --git a/scripts/package-build/strongswan/patches/0003-vici-add-support-for-individual-sa-state-changes.patch b/scripts/package-build/strongswan/patches/strongswan/0003-vici-add-support-for-individual-sa-state-changes.patch index 45aadc72..45aadc72 100644 --- a/scripts/package-build/strongswan/patches/0003-vici-add-support-for-individual-sa-state-changes.patch +++ b/scripts/package-build/strongswan/patches/strongswan/0003-vici-add-support-for-individual-sa-state-changes.patch diff --git a/scripts/package-build/strongswan/patches/0004-VyOS-disable-options-enabled-by-Debian-that-are-unus.patch b/scripts/package-build/strongswan/patches/strongswan/0004-VyOS-disable-options-enabled-by-Debian-that-are-unus.patch index 57a622e8..57a622e8 100644 --- a/scripts/package-build/strongswan/patches/0004-VyOS-disable-options-enabled-by-Debian-that-are-unus.patch +++ b/scripts/package-build/strongswan/patches/strongswan/0004-VyOS-disable-options-enabled-by-Debian-that-are-unus.patch diff --git a/scripts/package-build/tacacs/.gitignore b/scripts/package-build/tacacs/.gitignore index 142020c5..3579fc4d 100644 --- a/scripts/package-build/tacacs/.gitignore +++ b/scripts/package-build/tacacs/.gitignore @@ -1,9 +1,3 @@ -libnss-tacplus/ -libpam-tacplus/ -libtacplus-map/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz +/libnss-tacplus/ +/libpam-tacplus/ +/libtacplus-map/ diff --git a/scripts/package-build/telegraf/.gitignore b/scripts/package-build/telegraf/.gitignore index bf2fcf43..f634da68 100644 --- a/scripts/package-build/telegraf/.gitignore +++ b/scripts/package-build/telegraf/.gitignore @@ -1,6 +1 @@ -telegraf/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc +/telegraf/ diff --git a/scripts/package-build/waagent/.gitignore b/scripts/package-build/waagent/.gitignore index 80401271..a91839ef 100644 --- a/scripts/package-build/waagent/.gitignore +++ b/scripts/package-build/waagent/.gitignore @@ -1,8 +1 @@ -waagent/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.tar.gz -*.tar.xz +/waagent/ diff --git a/scripts/package-build/wide-dhcpv6/.gitignore b/scripts/package-build/wide-dhcpv6/.gitignore index 990f3c6c..b7f6e063 100644 --- a/scripts/package-build/wide-dhcpv6/.gitignore +++ b/scripts/package-build/wide-dhcpv6/.gitignore @@ -1,7 +1 @@ -wide-dhcpv6/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc -*.udeb +/wide-dhcpv6/ diff --git a/scripts/package-build/wide-dhcpv6/patches/0023-dhcpc6-support-per-interface-client-DUIDs.patch b/scripts/package-build/wide-dhcpv6/patches/wide-dhcpv6/0023-dhcpc6-support-per-interface-client-DUIDs.patch index c1e71f0c..c1e71f0c 100644 --- a/scripts/package-build/wide-dhcpv6/patches/0023-dhcpc6-support-per-interface-client-DUIDs.patch +++ b/scripts/package-build/wide-dhcpv6/patches/wide-dhcpv6/0023-dhcpc6-support-per-interface-client-DUIDs.patch diff --git a/scripts/package-build/wide-dhcpv6/patches/0024-bind-to-single-socket.patch b/scripts/package-build/wide-dhcpv6/patches/wide-dhcpv6/0024-bind-to-single-socket.patch index b5751325..b5751325 100644 --- a/scripts/package-build/wide-dhcpv6/patches/0024-bind-to-single-socket.patch +++ b/scripts/package-build/wide-dhcpv6/patches/wide-dhcpv6/0024-bind-to-single-socket.patch diff --git a/scripts/package-build/wide-dhcpv6/patches/0025-option-to-prevent-ia-release.patch b/scripts/package-build/wide-dhcpv6/patches/wide-dhcpv6/0025-option-to-prevent-ia-release.patch index 32c15814..32c15814 100644 --- a/scripts/package-build/wide-dhcpv6/patches/0025-option-to-prevent-ia-release.patch +++ b/scripts/package-build/wide-dhcpv6/patches/wide-dhcpv6/0025-option-to-prevent-ia-release.patch diff --git a/scripts/package-build/xen-guest-agent/.gitignore b/scripts/package-build/xen-guest-agent/.gitignore index 373bd76a..d34885ab 100644 --- a/scripts/package-build/xen-guest-agent/.gitignore +++ b/scripts/package-build/xen-guest-agent/.gitignore @@ -1,7 +1 @@ -xen-guest-agent/ -*.buildinfo -*.build -*.changes -*.deb -*.dsc - +/xen-guest-agent/ |