diff --git a/conf/licenses/license-mapping.yml b/conf/licenses/license-mapping.yml index 398b1772..775595d0 100644 --- a/conf/licenses/license-mapping.yml +++ b/conf/licenses/license-mapping.yml @@ -1,16 +1,19 @@ -# https://scancode-licensedb.aboutcode.org/ +# https://spdx.org/licenses/ + +# This file format is following +# LICENSE NAME: REPLACED LICENSE NAME +# +# For example, folowing line replace from GPL2 to GPL-2.0-only +# "GPL2": "GPL-2.0-only" +# Layer is able to have its own license-mapping.yml file in conf/licenses directory. +# # Apache "Apache-2": "Apache-2.0" # Artistic "Artistic-1": "Artistic-1.0" -"Artistic-dist": "LicenseRef-scancode-artistic-1988-1.0" - -# Autoconf exception -"GPL-2.0-or-later WITH Autoconf-exception": "Autoconf-exception-2.0" -"GPL-3.0-or-later WITH Autoconf-exception": "Autoconf-exception-3.0" -"GPL-3 WITH automake-exception": "Autoconf-exception-3.0" +"Artistic": "Artistic-1.0-Perl" # BSL "BSL-1": "BSL-1.0" @@ -28,6 +31,9 @@ # Vixie Cron License "Paul-Vixie's-license": "Vixie-Cron" +# Expat can be treated as MIT. +"Expat": "MIT" + # FSF "FSF-unlimited": "FSFULLRWD" "FSF-unlimited-permission": "FSFULLR" @@ -51,27 +57,21 @@ # GPL 2 "GPL-2": "GPL-2.0-only" "GPL-2+": "GPL-2.0-or-later" +'GPL-2.0+': "GPL-2.0-or-later" # GLP3 "GPL-3": "GPL-3.0-only" "GPL-3+": "GPL-3.0-or-later" -# GPL with Autoconf exception -"GPL-2+ with Autoconf exception": "Autoconf-exception-2.0" - -# GPL with libtool exception -"GPL-2+ with Libtool exception": "Libtool-exception" - -# GPL with OpenSSL exception -"GPL-2+ WITH OpenSSL exception": "LicenseRef-scancode-openssl-exception-gpl-2.0-plus" - # LGPL "LGPL-2": "LGPL-2.0-only" "LGPL-2+": "LGPL-2.0-or-later" +"LGPL-2.0+": "LGPL-2.0-or-later" "LGPL-2.1": "LGPL-2.1-only" "LGPL-2.1+": "LGPL-2.1-or-later" "LGPL-3": "LGPL-3.0-only" "LGPL-3+": "LGPL-3.0-or-later" +"LGPL-3.0+": "LGPL-3.0-or-later" # OpenLdap "OpenLDAP-2.0": "OLDAP-2.0" @@ -85,24 +85,6 @@ "OpenLDAP-2.8": "OLDAP-2.8" -# pcre -"pcre": "LicenseRef-scancode-pcre" - # permissive "permissive-fsf": "FSFULLR" -# public domain -"public-domain": "LicenseRef-scancode-public-domain" -"Public-Domain": "LicenseRef-scancode-public-domain" -"PD": "LicenseRef-scancode-public-domain" -"PD-debian": "LicenseRef-scancode-public-domain" - -# SMAIL-GPL -"SMAIL-GPL": "LicenseRef-scancode-smail-gpl" - -# Unicode -"Unicode": "LicenseRef-scancode-unicode" - -# Misc -"Linux-syscall-note-exception": "Linux-syscall-note" - diff --git a/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-2.0-IT.txt b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-2.0-IT.txt new file mode 100644 index 00000000..224cd764 --- /dev/null +++ b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-2.0-IT.txt @@ -0,0 +1,345 @@ + This file is licensed under the Creative Commons Attribution-Share + Alike 2.0 Italy license. + . + You are free: + . + • to share – to copy, distribute and transmit the work + • to remix – to adapt the work + . + Under the following conditions: + . + • attribution – You must attribute the work in the manner specified + by the author or licensor (but not in any way that suggests that they + endorse you or your use of the work). + • share alike – If you alter, transform, or build upon this work, + you may distribute the resulting work only under the same or similar + license to this one. + . + ---- Full license text follows ---- + . + [Creative Commons Legal Code] + . + Attribuzione–Condividi allo stesso modo 2.0 (ITALIA) + . + L’ASSOCIAZIONE CREATIVE COMMONS (DI SEGUITO ‘CREATIVE COMMONS’) NON È + UNO STUDIO LEGALE E NON FORNISCE SERVIZI DI CONSULENZA LEGALE. LA + DISTRIBUZIONE DI QUESTO MODELLO DI CONTRATTO DI LICENZA NON INSTAURA UN + RAPPORTO AVVOCATO-CLIENTE. CREATIVE COMMONS FORNISCE INFORMAZIONI DA + CONSIDERARSI “COSI’ COME SONO”. CREATIVE COMMONS NON PRESTA ALCUNA + GARANZIA PER LE INFORMAZIONI FORNITE E SI ESIME DA OGNI RESPONSABILITÀ + PER I DANNI DERIVANTI DALL’USO DELLE STESSE. + . + La Licenza + . + L’OPERA (COME SOTTO DEFINITA) È MESSA A DISPOSIZIONE SULLA BASE DEI + TERMINI DELLA PRESENTE LICENZA “CREATIVE COMMONS PUBLIC LICENCE” (‘CCPL’ + O ‘LICENZA’). L’OPERA E’ PROTETTA DAL DIRITTO D’AUTORE E/O DALLE ALTRE + LEGGI APPLICABILI. OGNI UTILIZZAZIONE DELL’OPERA CHE NON SIA AUTORIZZATA + AI SENSI DELLA PRESENTE LICENZA O DEL DIRITTO D’AUTORE È PROIBITA. + . + CON IL SEMPLICE ESERCIZIO SULL’OPERA DI UNO QUALUNQUE DEI DIRITTI QUI DI + SEGUITO ELENCATI, TU ACCETTI E TI OBBLIGHI A RISPETTARE INTEGRALMENTE I + TERMINI DELLA PRESENTE LICENZA AI SENSI DEL PUNTO 8.f. IL LICENZIANTE + CONCEDE A TE I DIRITTI QUI DI SEGUITO ELENCATI A CONDIZIONE CHE TU + ACCETTI DI RISPETTARE I TERMINI E LE CONDIZIONI DI CUI ALLA PRESENTE + LICENZA. + . + 1. Definizioni. Ai fini e per gli effetti della presente licenza, si + intende per + . + 1. "Collezione di Opere", un’opera, come un numero di un periodico, + un’antologia o un’enciclopedia, nella quale l’Opera nella sua + interezza e forma originale, unitamente ad altri contributi + costituenti loro stessi opere distinte ed autonome, sono raccolti in + un’unità collettiva. Un’opera che costituisce Collezione di Opere + non verrà considerata Opera Derivata (come sotto definita) ai fini + della presente Licenza; + 2. "Opera Derivata", un’opera basata sull’Opera ovvero sull’Opera + insieme con altre opere preesistenti, come una traduzione, un + arrangiamento musicale, un adattamento teatrale, narrativo, + cinematografico, una registrazione di suoni, una riproduzione + d’arte, un digesto, una sintesi, od ogni altra forma in cui l’Opera + possa essere riproposta, trasformata o adattata. Nel caso in cui + un’Opera tra quelle qui descritte costituisca già Collezione di + Opere, essa non sarà considerata Opera Derivata ai fini della + presente Licenza. Al fine di evitare dubbi è inteso che, quando + l’Opera sia una composizione musicale o registrazione di suoni, la + sincronizzazione dell’Opera in relazione con un’immagine in + movimento (“synching”) sarà considerata Opera Derivata ai fini di + questa Licenza; + 3. "Licenziante", l’individuo o l’ente che offre l’Opera secondo i + termini e le condizioni della presente Licenza; + 4. "Autore Originario", il soggetto che ha creato l’Opera; + 5. "Opera", l’opera dell’ingegno suscettibile di protezione in forza + delle leggi sul diritto d’autore, la cui utilizzazione è offerta nel + rispetto dei termini della presente Licenza; + 6. "Tu"/"Te", l’individuo o l’ente che esercita i diritti derivanti + dalla presente Licenza e che non abbia precedentemente violato i + termini della presente Licenza relativi all’Opera, o che, nonostante + una precedente violazione degli stessi, abbia ricevuto espressa + autorizzazione dal Licenziante all’esercizio dei diritti derivanti + dalla presente Licenza; + 7. "Elementi della Licenza", gli attributi fondamentali della Licenza + scelti dal Licenziante ed indicati nel titolo della Licenza: + Attribuzione, Condividi allo stesso modo. + . + 2. Libere utilizzazioni. La presente Licenza non intende in alcun modo + ridurre, limitare o restringere alcun diritto di libera utilizzazione o + l’operare della regola dell’esaurimento del diritto o altre limitazioni + dei diritti esclusivi sull’Opera derivanti dalla legge sul diritto + d’autore o da altre leggi applicabili. + . + 3. Concessione della Licenza. Nel rispetto dei termini e delle + condizioni contenute nella presente Licenza, il Licenziante concede a Te + una licenza per tutto il mondo, gratuita, non esclusiva e perpetua (per + la durata del diritto d’autore applicabile) che autorizza ad esercitare + i diritti sull’Opera qui di seguito elencati: + . + 1. riproduzione dell’Opera, incorporazione dell’Opera in una o più + Collezioni di Opere e riproduzione dell’Opera come incorporata nelle + Collezioni di Opere; + 2. creazione e riproduzione di un’Opera Derivata; + 3. distribuzione di copie dell’Opera o di supporti fonografici su cui + l’Opera è registrata, comunicazione al pubblico, rappresentazione, + esecuzione, recitazione o esposizione in pubblico, ivi inclusa la + trasmissione audio digitale dell’Opera, e ciò anche quando l’Opera + sia incorporata in Collezioni di Opere; + 4. distribuzione di copie dell’Opera o di supporti fonografici su cui + l’Opera Derivata è registrata, comunicazione al pubblico, + rappresentazione, esecuzione, recitazione o esposizione in pubblico, + ivi inclusa la trasmissione audio digitale di Opere Derivate. + 5. Al fine di evitare dubbi è inteso che, se l’Opera sia di tipo + musicale + . + 1. Compensi per la comunicazione al pubblico o la rappresentazione + od esecuzione di opere incluse in repertori. Il Licenziante + rinuncia al diritto esclusivo di riscuotere compensi, + personalmente o per il tramite di un ente di gestione collettiva + (ad es. SIAE), per la comunicazione al pubblico o la + rappresentazione od esecuzione, anche in forma digitale (ad es. + tramite webcast) dell’Opera. + 2. Compensi per versioni cover. Il Licenziante rinuncia al diritto + esclusivo di riscuotere compensi, personalmente o per il tramite + di un ente di gestione collettiva (ad es. SIAE), per ogni disco + che Tu crei e distribuisci a partire dall’Opera (versione + cover). + . + 6. Compensi per la comunicazione al pubblico dell’Opera mediante + fonogrammi. Al fine di evitare dubbi, è inteso che se l’Opera è una + registrazione di suoni, il Licenziante rinuncia al diritto esclusivo + di riscuotere compensi, personalmente o per il tramite di un ente di + gestione collettiva (ad es. IMAIE), per la comunicazione al pubblico + dell’Opera, anche in forma digitale. + 7. Altri compensi previsti dalla legge italiana. Al fine di evitare + dubbi, è inteso che il Licenziante rinuncia al diritto esclusivo di + riscuotere i compensi a lui attribuiti dalla legge italiana sul + diritto d’autore (ad es. per l’inserimento dell’Opera in + un’antologia ad uso scolastico ex art. 70 l. 633/1941). Al + Licenziante spettano in ogni caso i compensi irrinunciabili a lui + attribuiti dalla medesima legge (ad es. l’equo compenso spettante + all’autore di opere musicali, cinematografiche, audiovisive o di + sequenze di immagini in movimento nel caso di noleggio ai sensi + dell’art. 18-bis l. 633/1941). + . + I diritti sopra descritti potranno essere esercitati con ogni mezzo di + comunicazione e in tutti i formati. Tra i diritti di cui sopra si + intende compreso il diritto di apportare all’Opera le modifiche che si + rendessero tecnicamente necessarie per l’esercizio di detti diritti + tramite altri mezzi di comunicazione o su altri formati. Tutti i diritti + non espressamente concessi dal Licenziante rimangono riservati. + . + 4. Restrizioni. La Licenza concessa in conformità al precedente punto 3 + è espressamente assoggettata a, e limitata da, le seguenti restrizioni + . + 1. Tu puoi distribuire, comunicare al pubblico, rappresentare, + eseguire, recitare o esporre in pubblico l’Opera, anche in forma + digitale, solo assicurando che i termini di cui alla presente + Licenza siano rispettati e, insieme ad ogni copia dell’Opera (o + supporto fonografico su cui è registrata l’Opera) che distribuisci, + comunichi al pubblico o rappresenti, esegui, reciti o esponi in + pubblico, anche in forma digitale, devi includere una copia della + presente Licenza o il suo Uniform Resource Identifier. Non puoi + proporre od imporre alcuna condizione relativa all’Opera che alteri + o restringa i termini della presente Licenza o l’esercizio da parte + del beneficiario dei diritti qui concessi. Non puoi concedere + l’Opera in sublicenza. Devi mantenere intatte tutte le informative + che si riferiscono alla presente Licenza ed all’esclusione delle + garanzie. Non puoi distribuire, comunicare al pubblico, + rappresentare, eseguire, recitare o esporre in pubblico l’Opera, + neanche in forma digitale, usando misure tecnologiche miranti a + controllare l’accesso all’Opera ovvero l’uso dell’Opera, in maniera + incompatibile con i termini della presente Licenza. Quanto sopra si + applica all’Opera anche quando questa faccia parte di una Collezione + di Opere, anche se ciò non comporta che la Collezione di Opere di + per sé ed indipendentemente dall’Opera stessa debba essere soggetta + ai termini ed alle condizioni della presente Licenza. Qualora Tu + crei una Collezione di Opere, su richiesta di qualsiasi Licenziante, + devi rimuovere dalla Collezione di Opere stessa, ove materialmente + possibile, ogni riferimento a tale Licenziante o, su richiesta di + qualsiasi Autore Originario, a tale Autore Originario, come da + richiesta. Qualora tu crei un’Opera Derivata, su richiesta di + qualsiasi Licenziante devi rimuovere dall’Opera Derivata stessa, + nella misura in cui ciò sia possibile, ogni riferimento a tale + Licenziante o, su richiesta di qualsiasi Autore Originario, a tale + Autore Originario, come da richiesta. + 2. Tu puoi distribuire, comunicare al pubblico, rappresentare, + eseguire, recitare o esporre in pubblico l’Opera, anche in forma + digitale, solo assicurando che i termini di cui alla presente + Licenza siano rispettati e, insieme ad ogni copia dell’Opera (o + supporto fonografico su cui è registrata l’Opera) che distribuisci, + comunichi al pubblico o rappresenti, esegui, reciti o esponi in + pubblico, anche in forma digitale, devi includere una copia della + presente Licenza o il suo Uniform Resource Identifier. Non puoi + proporre od imporre alcuna condizione relativa all’Opera che alteri + o restringa i termini della presente Licenza o l’esercizio da parte + del beneficiario dei diritti qui concessi. Non puoi concedere + l’Opera in sublicenza. Devi mantenere intatte tutte le informative + che si riferiscono alla presente Licenza ed all’esclusione delle + garanzie. Non puoi distribuire, comunicare al pubblico, + rappresentare, eseguire, recitare o esporre in pubblico l’Opera, + neanche in forma digitale, usando misure tecnologiche miranti a + controllare l’accesso all’Opera ovvero l’uso dell’Opera, in maniera + incompatibile con i termini della presente Licenza. Quanto sopra si + applica all’Opera anche quando questa faccia parte di una Collezione + di Opere, anche se ciò non comporta che la Collezione di Opere di + per sé ed indipendentemente dall’Opera stessa debba essere soggetta + ai termini ed alle condizioni della presente Licenza. Qualora Tu + crei una Collezione di Opere, su richiesta di qualsiasi Licenziante, + devi rimuovere dalla Collezione di Opere stessa, ove materialmente + possibile, ogni riferimento a tale Licenziante o, su richiesta di + qualsiasi Autore Originario, a tale Autore Originario, come da + richiesta. Qualora tu crei un’Opera Derivata, su richiesta di + qualsiasi Licenziante devi rimuovere dall’Opera Derivata stessa, + nella misura in cui ciò sia possibile, ogni riferimento a tale + Licenziante o, su richiesta di qualsiasi Autore Originario, a tale + Autore Originario, come da richiesta. + 3. Qualora Tu distribuisca, comunichi al pubblico, rappresenti, esegua, + reciti o esponga in pubblico, anche in forma digitale, l’Opera o + qualsiasi Opera Derivata o Collezione di Opere, devi mantenere + intatte tutte le informative sul diritto d’autore sull’Opera. Devi + riconoscere all’Autore Originale una menzione adeguata rispetto al + mezzo di comunicazione o supporto che utilizzi citando il nome (o lo + pseudonimo, se del caso) dell’Autore Originale, ove fornito; il + titolo dell’Opera, ove fornito; nella misura in cui sia + ragionevolmente possibile, l’Uniform Resource Identifier, che il + Licenziante specifichi dover essere associato con l’Opera, salvo che + tale URI non faccia riferimento alla informazione di protezione di + diritto d’autore o non dia informazioni sulla licenza dell’Opera; + inoltre, in caso di Opera Derivata, devi menzionare l’uso dell’Opera + nell’Opera Derivata (ad esempio, “traduzione francese dell’Opera + dell’Autore Originario”, o “sceneggiatura basata sull’Opera + originaria dell’Autore Originario”). Tale menzione deve essere + realizzata in qualsiasi maniera ragionevole possibile; in ogni caso, + in ipotesi di Opera Derivata o Collezione di Opere, tale menzione + deve quantomeno essere posta nel medesimo punto dove viene indicato + il nome di altri autori di rilevanza paragonabile e con lo stesso + risalto concesso alla menzione di altri autori di rilevanza + paragonabile. + . + 5. Dichiarazioni, Garanzie ed Esonero da responsabilità + . + SALVO CHE SIA ESPRESSAMENTE CONVENUTO ALTRIMENTI PER ISCRITTO FRA LE + PARTI, IL LICENZIANTE OFFRE L’OPERA IN LICENZA “COSI’ COM’E’” E NON + FORNISCE ALCUNA DICHIARAZIONE O GARANZIA DI QUALSIASI TIPO CON RIGUARDO + ALL’OPERA, SIA ESSA ESPRESSA OD IMPLICITA, DI FONTE LEGALE O DI ALTRO + TIPO, ESSENDO QUINDI ESCLUSE, FRA LE ALTRE, LE GARANZIE RELATIVE AL + TITOLO, ALLA COMMERCIABILITÀ, ALL’IDONEITÀ PER UN FINE SPECIFICO E ALLA + NON VIOLAZIONE DI DIRITTI DI TERZI O ALLA MANCANZA DI DIFETTI LATENTI O + DI ALTRO TIPO, ALL’ESATTEZZA OD ALLA PRESENZA DI ERRORI, SIANO ESSI + ACCERTABILI O MENO. ALCUNE GIURISDIZIONI NON CONSENTONO L’ESCLUSIONE DI + GARANZIE IMPLICITE E QUINDI TALE ESCLUSIONE PUÒ NON APPLICARSI A TE. + . + 6. Limitazione di Responsabilità. SALVI I LIMITI STABILITI DALLA LEGGE + APPLICABILE, IL LICENZIANTE NON SARÀ IN ALCUN CASO RESPONSABILE NEI TUOI + CONFRONTI A QUALUNQUE TITOLO PER ALCUN TIPO DI DANNO, SIA ESSO SPECIALE, + INCIDENTALE, CONSEQUENZIALE, PUNITIVO OD ESEMPLARE, DERIVANTE DALLA + PRESENTE LICENZA O DALL’USO DELL’OPERA, ANCHE NEL CASO IN CUI IL + LICENZIANTE SIA STATO EDOTTO SULLA POSSIBILITÀ DI TALI DANNI. NESSUNA + CLAUSOLA DI QUESTA LICENZA ESCLUDE O LIMITA LA RESPONSABILITA’ NEL CASO + IN CUI QUESTA DIPENDA DA DOLO O COLPA GRAVE. + . + 7. Risoluzione + . + 1. La presente Licenza si intenderà risolta di diritto e i diritti con + essa concessi cesseranno automaticamente, senza necessità di alcuna + comunicazione in tal senso da parte del Licenziante, in caso di + qualsivoglia inadempimento dei termini della presente Licenza da + parte Tua, ed in particolare delle disposizioni di cui ai punti 4.a, + 4.b e 4.c, essendo la presente Licenza condizionata risolutivamente + al verificarsi di tali inadempimenti. In ogni caso, la risoluzione + della presente Licenza non pregiudicherà i diritti acquistati da + individui o enti che abbiano acquistato da Te Opere Derivate o + Collezioni di Opere, ai sensi della presente Licenza, a condizione + che tali individui o enti continuino a rispettare integralmente le + licenze di cui sono parte. Le sezioni 1, 2, 5, 6, 7 e 8 rimangono + valide in presenza di qualsiasi risoluzione della presente Licenza. + 2. Sempre che vengano rispettati i termini e le condizioni di cui + sopra, la presente Licenza è perpetua (e concessa per tutta la + durata del diritto d’autore sull’Opera applicabile). Nonostante ciò, + il Licenziante si riserva il diritto di rilasciare l’Opera sulla + base dei termini di una differente licenza o di cessare la + distribuzione dell’Opera in qualsiasi momento; fermo restando che, + in ogni caso, tali decisioni non comporteranno recesso dalla + presente Licenza (o da qualsiasi altra licenza che sia stata + concessa, o che sia richiesto che venga concessa, ai termini della + presente Licenza), e la presente Licenza continuerà ad avere piena + efficacia, salvo che vi sia risoluzione come sopra indicato. + . + 8. Varie + . + 1. Ogni volta che Tu distribuisci, o rappresenti, esegui o reciti + pubblicamente in forma digitale l’Opera o una Collezione di Opere, + il Licenziante offre al destinatario una licenza per l’Opera nei + medesimi termini e condizioni che a Te sono stati concessi dalla + presente Licenza. + 2. Ogni volta che Tu distribuisci, o rappresenti, esegui o reciti + pubblicamente in forma digitale un’Opera Derivata, il Licenziante + offre al destinatario una licenza per l’Opera originale nei medesimi + termini e condizioni che a Te sono stati concessi dalla presente + Licenza. + 3. L’invalidità o l’inefficacia, secondo la legge applicabile, di una o + più fra le disposizioni della presente Licenza, non comporterà + l’invalidità o l’inefficacia dei restanti termini e, senza bisogno + di ulteriori azioni delle parti, le disposizioni invalide od + inefficaci saranno da intendersi rettificate nei limiti della misura + che sia indispensabile per renderle valide ed efficaci. + 4. In nessun caso i termini e le disposizioni di cui alla presente + Licenza possono essere considerati rinunciati, né alcuna violazione + può essere considerata consentita, salvo che tale rinuncia o + consenso risultino per iscritto da una dichiarazione firmata dalla + parte contro cui operi tale rinuncia o consenso. + 5. La presente Licenza costituisce l’intero accordo tra le parti + relativamente all’Opera qui data in licenza. Non esistono altre + intese, accordi o dichiarazioni relative all’Opera che non siano + quelle qui specificate. Il Licenziante non sarà vincolato ad alcuna + altra disposizione addizionale che possa apparire in alcuna + comunicazione da Te proveniente. La presente Licenza non può essere + modificata senza il mutuo consenso scritto del Licenziante e Tuo. + 6. Clausola iCommons. Questa Licenza trova applicazione nel caso in cui + l’Opera sia utilizzata in Italia. Ove questo sia il caso, si applica + anche il diritto d’autore italiano. Negli altri casi le parti si + obbligano a rispettare i termini dell’attuale Licenza Creative + Commons generica che corrisponde a questa Licenza Creative Commons + iCommons. + . + Creative Commons non è parte della presente Licenza e non dà alcuna + garanzia connessa all’Opera. Creative Commons non è responsabile nei + Tuoi confronti o nei confronti di altre parti ad alcun titolo per alcun + danno, incluso, senza limitazioni, qualsiasi danno generale. speciale, + incidentale o consequenziale che sorga in connessione alla presente + Licenza. Nonostante quanto previsto nelle due precedenti frasi, qualora + Creative Commons espressamente identificasse se stesso quale Licenziante + nei termini di cui al presente accordo, avrà tutti i diritti e tutti gli + obblighi del Licenziante. + . + Salvo che per il solo scopo di indicare al pubblico che l’Opera è data + in licenza secondo i termini della CCPL, nessuna parte potrà utilizzare + il marchio “Creative Commons” o qualsiasi altro marchio correlato, o il + logo di Creative Commons, senza il preventivo consenso scritto di + Creative Commons. Ogni uso consentito sarà realizzato con l’osservanza + delle linee guida per l’uso del marchio Creative Commons, in forza in + quel momento, come di volta in volta pubblicate sul sito Internet di + Creative Commons o altrimenti messe a disposizione a richiesta. + . + Creative Commons può essere contattata al sito + http://creativecommons.org/. diff --git a/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-US.txt b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-US.txt new file mode 100644 index 00000000..e53cced4 --- /dev/null +++ b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-US.txt @@ -0,0 +1,312 @@ + Creative Commons Legal Code + =========================== + . + Attribution-ShareAlike 3.0 United States + ---------------------------------------- + . + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + . + License + . + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE + COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY + COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS + AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE + TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY + BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS + CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND + CONDITIONS. + . + 1. Definitions + . + 1. "Collective Work" means a work, such as a periodical issue, + anthology or encyclopedia, in which the Work in its entirety in + unmodified form, along with one or more other contributions, + constituting separate and independent works in themselves, are + assembled into a collective whole. A work that constitutes a + Collective Work will not be considered a Derivative Work (as defined + below) for the purposes of this License. + 2. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the + relicensing of derivatives of works made available under that + license under this License or either a Creative Commons unported + license or a Creative Commons jurisdiction license with the same + License Elements as this License. + 3. "Derivative Work" means a work based upon the Work or upon the Work + and other pre-existing works, such as a translation, musical + arrangement, dramatization, fictionalization, motion picture + version, sound recording, art reproduction, abridgment, + condensation, or any other form in which the Work may be recast, + transformed, or adapted, except that a work that constitutes a + Collective Work will not be considered a Derivative Work for the + purpose of this License. For the avoidance of doubt, where the Work + is a musical composition or sound recording, the synchronization of + the Work in timed-relation with a moving image ("synching") will be + considered a Derivative Work for the purpose of this License. + 4. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + 5. "Licensor" means the individual, individuals, entity or entities + that offers the Work under the terms of this License. + 6. "Original Author" means the individual, individuals, entity or + entities who created the Work. + 7. "Work" means the copyrightable work of authorship offered under the + terms of this License. + 8. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License + with respect to the Work, or who has received express permission + from the Licensor to exercise rights under this License despite a + previous violation. + . + 2. Fair Use Rights. Nothing in this license is intended to reduce, + limit, or restrict any rights arising from fair use, first sale or other + limitations on the exclusive rights of the copyright owner under + copyright law or other applicable laws. + . + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + . + 1. to reproduce the Work, to incorporate the Work into one or more + Collective Works, and to reproduce the Work as incorporated in the + Collective Works; + 2. to create and reproduce Derivative Works provided that any such + Derivative Work, including any translation in any medium, takes + reasonable steps to clearly label, demarcate or otherwise identify + that changes were made to the original Work. For example, a + translation could be marked "The original work was translated from + English to Spanish," or a modification could indicate "The original + work has been modified."; + 3. to distribute copies or phonorecords of, display publicly, perform + publicly, and perform publicly by means of a digital audio + transmission the Work including as incorporated in Collective Works; + 4. to distribute copies or phonorecords of, display publicly, perform + publicly, and perform publicly by means of a digital audio + transmission Derivative Works. + 5. For the avoidance of doubt, where the Work is a musical composition: + . + 1. Performance Royalties Under Blanket Licenses. Licensor waives + the exclusive right to collect, whether individually or, in the + event that Licensor is a member of a performance rights society + (e.g. ASCAP, BMI, SESAC), via that society, royalties for the + public performance or public digital performance (e.g. webcast) + of the Work. + 2. Mechanical Rights and Statutory Royalties. Licensor waives the + exclusive right to collect, whether individually or via a music + rights agency or designated agent (e.g. Harry Fox Agency), + royalties for any phonorecord You create from the Work ("cover + version") and distribute, subject to the compulsory license + created by 17 USC Section 115 of the US Copyright Act (or the + equivalent in other jurisdictions). + . + 6. Webcasting Rights and Statutory Royalties. For the avoidance of + doubt, where the Work is a sound recording, Licensor waives the + exclusive right to collect, whether individually or via a + performance-rights society (e.g. SoundExchange), royalties for the + public digital performance (e.g. webcast) of the Work, subject to + the compulsory license created by 17 USC Section 114 of the US + Copyright Act (or the equivalent in other jurisdictions). + . + The above rights may be exercised in all media and formats whether now + known or hereafter devised. The above rights include the right to make + such modifications as are technically necessary to exercise the rights + in other media and formats. All rights not expressly granted by Licensor + are hereby reserved. + . + 4. Restrictions. The license granted in Section 3 above is expressly + made subject to and limited by the following restrictions: + . + 1. You may distribute, publicly display, publicly perform, or publicly + digitally perform the Work only under the terms of this License, and + You must include a copy of, or the Uniform Resource Identifier for, + this License with every copy or phonorecord of the Work You + distribute, publicly display, publicly perform, or publicly + digitally perform. You may not offer or impose any terms on the Work + that restrict the terms of this License or the ability of a + recipient of the Work to exercise of the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License + and to the disclaimer of warranties. When You distribute, publicly + display, publicly perform, or publicly digitally perform the Work, + You may not impose any technological measures on the Work that + restrict the ability of a recipient of the Work from You to exercise + of the rights granted to that recipient under the terms of the + License. This Section 4(a) applies to the Work as incorporated in a + Collective Work, but this does not require the Collective Work apart + from the Work itself to be made subject to the terms of this + License. If You create a Collective Work, upon notice from any + Licensor You must, to the extent practicable, remove from the + Collective Work any credit as required by Section 4(c), as + requested. If You create a Derivative Work, upon notice from any + Licensor You must, to the extent practicable, remove from the + Derivative Work any credit as required by Section 4(c), as + requested. + 2. You may distribute, publicly display, publicly perform, or publicly + digitally perform a Derivative Work only under: (i) the terms of + this License; (ii) a later version of this License with the same + License Elements as this License; (iii) either the Creative Commons + (Unported) license or a Creative Commons jurisdiction license + (either this or a later license version) that contains the same + License Elements as this License (e.g. Attribution-ShareAlike 3.0 + (Unported)); (iv) a Creative Commons Compatible License. If you + license the Derivative Work under one of the licenses mentioned in + (iv), you must comply with the terms of that license. If you license + the Derivative Work under the terms of any of the licenses mentioned + in (i), (ii) or (iii) (the "Applicable License"), you must comply + with the terms of the Applicable License generally and with the + following provisions: (I) You must include a copy of, or the Uniform + Resource Identifier for, the Applicable License with every copy or + phonorecord of each Derivative Work You distribute, publicly + display, publicly perform, or publicly digitally perform; (II) You + may not offer or impose any terms on the Derivative Works that + restrict the terms of the Applicable License or the ability of a + recipient of the Work to exercise the rights granted to that + recipient under the terms of the Applicable License; (III) You must + keep intact all notices that refer to the Applicable License and to + the disclaimer of warranties; and, (IV) when You distribute, + publicly display, publicly perform, or publicly digitally perform + the Work, You may not impose any technological measures on the + Derivative Work that restrict the ability of a recipient of the + Derivative Work from You to exercise the rights granted to that + recipient under the terms of the Applicable License. This Section + 4(b) applies to the Derivative Work as incorporated in a Collective + Work, but this does not require the Collective Work apart from the + Derivative Work itself to be made subject to the terms of the + Applicable License. + 3. If You distribute, publicly display, publicly perform, or publicly + digitally perform the Work (as defined in Section 1 above) or any + Derivative Works (as defined in Section 1 above) or Collective Works + (as defined in Section 1 above), You must, unless a request has been + made pursuant to Section 4(a), keep intact all copyright notices for + the Work and provide, reasonable to the medium or means You are + utilizing: (i) the name of the Original Author (or pseudonym, if + applicable) if supplied, and/or (ii) if the Original Author and/or + Licensor designate another party or parties (e.g. a sponsor + institute, publishing entity, journal) for attribution ("Attribution + Parties") in Licensor's copyright notice, terms of service or by + other reasonable means, the name of such party or parties; the title + of the Work if supplied; to the extent reasonably practicable, the + Uniform Resource Identifier, if any, that Licensor specifies to be + associated with the Work, unless such URI does not refer to the + copyright notice or licensing information for the Work; and, + consistent with Section 3(b) in the case of a Derivative Work, a + credit identifying the use of the Work in the Derivative Work (e.g., + "French translation of the Work by Original Author," or "Screenplay + based on original Work by Original Author"). The credit required by + this Section 4(c) may be implemented in any reasonable manner; + provided, however, that in the case of a Derivative Work or + Collective Work, at a minimum such credit will appear, if a credit + for all contributing authors of the Derivative Work or Collective + Work appears, then as part of these credits and in a manner at least + as prominent as the credits for the other contributing authors. For + the avoidance of doubt, You may only use the credit required by this + Section for the purpose of attribution in the manner set out above + and, by exercising Your rights under this License, You may not + implicitly or explicitly assert or imply any connection with, + sponsorship or endorsement by the Original Author, Licensor and/or + Attribution Parties, as appropriate, of You or Your use of the Work, + without the separate, express prior written permission of the + Original Author, Licensor and/or Attribution Parties. + . + 5. Representations, Warranties and Disclaimer + . + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR + OFFERS THE WORK AS-IS AND ONLY TO THE EXTENT OF ANY RIGHTS HELD IN THE + LICENSED WORK BY THE LICENSOR. THE LICENSOR MAKES NO REPRESENTATIONS OR + WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY + OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, + MARKETABILITY, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, + NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR + THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME + JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH + EXCLUSION MAY NOT APPLY TO YOU. + . + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE + LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR + ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES + ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 7. Termination + . + 1. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Derivative Works or + Collective Works from You under this License, however, will not have + their licenses terminated provided such individuals or entities + remain in full compliance with those licenses. Sections 1, 2, 5, 6, + 7, and 8 will survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here + is perpetual (for the duration of the applicable copyright in the + Work). Notwithstanding the above, Licensor reserves the right to + release the Work under different license terms or to stop + distributing the Work at any time; provided, however that any such + election will not serve to withdraw this License (or any other + license that has been, or is required to be, granted under the terms + of this License), and this License will continue in full force and + effect unless terminated as stated above. + . + 8. Miscellaneous + . + 1. Each time You distribute or publicly digitally perform the Work (as + defined in Section 1 above) or a Collective Work (as defined in + Section 1 above), the Licensor offers to the recipient a license to + the Work on the same terms and conditions as the license granted to + You under this License. + 2. Each time You distribute or publicly digitally perform a Derivative + Work, Licensor offers to the recipient a license to the original + Work on the same terms and conditions as the license granted to You + under this License. + 3. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability + of the remainder of the terms of this License, and without further + action by the parties to this agreement, such provision shall be + reformed to the minimum extent necessary to make such provision + valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in + writing and signed by the party to be charged with such waiver or + consent. + 5. This License constitutes the entire agreement between the parties + with respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and + You. + . + Creative Commons Notice + . + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + . + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of this License. + . + Creative Commons may be contacted at http://creativecommons.org/. + diff --git a/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-Unported.txt b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-Unported.txt new file mode 100644 index 00000000..75bbfb11 --- /dev/null +++ b/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-Unported.txt @@ -0,0 +1,386 @@ + This file is licensed under the Creative Commons Attribution-Share + Alike 3.0 Unported license. + . + You are free: + . + • to share – to copy, distribute and transmit the work + • to remix – to adapt the work + . + Under the following conditions: + • attribution – You must attribute the work in the manner specified + by the author or licensor (but not in any way that suggests that they + endorse you or your use of the work). + • share alike – If you alter, transform, or build upon this work, + you may distribute the resulting work only under the same or similar + license to this one. + . + Creative Commons Legal Code + =========================== + . + Attribution-ShareAlike 3.0 Unported + ----------------------------------- + . + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + . + License + . + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE + COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY + COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS + AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE + TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY + BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS + CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND + CONDITIONS. + . + 1. Definitions + . + 1. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may + be recast, transformed, or adapted including in any form + recognizably derived from the original, except that a work that + constitutes a Collection will not be considered an Adaptation for + the purpose of this License. For the avoidance of doubt, where the + Work is a musical work, performance or phonogram, the + synchronization of the Work in timed-relation with a moving image + ("synching") will be considered an Adaptation for the purpose of + this License. + 2. "Collection" means a collection of literary or artistic works, such + as encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + 3. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the + relicensing of adaptations of works made available under that + license under this License or a Creative Commons jurisdiction + license with the same License Elements as this License. + 4. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + 5. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + 6. "Licensor" means the individual, individuals, entity or entities + that offer(s) the Work under the terms of this License. + 7. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and + in addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, + declaim, play in, interpret or otherwise perform literary or + artistic works or expressions of folklore; (ii) in the case of a + phonogram the producer being the person or legal entity who first + fixes the sounds of a performance or other sounds; and, (iii) in the + case of broadcasts, the organization that transmits the broadcast. + 8. "Work" means the literary and/or artistic work offered under the + terms of this License including without limitation any production in + the literary, scientific and artistic domain, whatever may be the + mode or form of its expression including digital form, such as a + book, pamphlet and other writing; a lecture, address, sermon or + other work of the same nature; a dramatic or dramatico-musical work; + a choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which + are assimilated works expressed by a process analogous to + cinematography; a work of drawing, painting, architecture, + sculpture, engraving or lithography; a photographic work to which + are assimilated works expressed by a process analogous to + photography; a work of applied art; an illustration, map, plan, + sketch or three-dimensional work relative to geography, topography, + architecture or science; a performance; a broadcast; a phonogram; a + compilation of data to the extent it is protected as a copyrightable + work; or a work performed by a variety or circus performer to the + extent it is not otherwise considered a literary or artistic work. + 9. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License + with respect to the Work, or who has received express permission + from the Licensor to exercise rights under this License despite a + previous violation. + 10. "Publicly Perform" means to perform public recitations of the Work + and to communicate to the public those public recitations, by any + means or process, including by wire or wireless means or public + digital performances; to make available to the public Works in such + a way that members of the public may access these Works from a place + and at a place individually chosen by them; to perform the Work to + the public by any means or process and the communication to the + public of the performances of the Work, including by public digital + performance; to broadcast and rebroadcast the Work by any means + including signs, sounds or images. + 11. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of + a protected performance or phonogram in digital form or other + electronic medium. + . + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, + limit, or restrict any uses free from copyright or rights arising from + limitations or exceptions that are provided for in connection with the + copyright protection under copyright law or other applicable laws. + . + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + . + 1. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + 2. to create and Reproduce Adaptations provided that any such + Adaptation, including any translation in any medium, takes + reasonable steps to clearly label, demarcate or otherwise identify + that changes were made to the original Work. For example, a + translation could be marked "The original work was translated from + English to Spanish," or a modification could indicate "The original + work has been modified."; + 3. to Distribute and Publicly Perform the Work including as + incorporated in Collections; and, + 4. to Distribute and Publicly Perform Adaptations. + 5. For the avoidance of doubt: + . + 1. Non-waivable Compulsory License Schemes. In those jurisdictions + in which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + 2. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives + the exclusive right to collect such royalties for any exercise + by You of the rights granted under this License; and, + 3. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that + the Licensor is a member of a collecting society that + administers voluntary licensing schemes, via that society, from + any exercise by You of the rights granted under this License. + . + The above rights may be exercised in all media and formats whether now + known or hereafter devised. The above rights include the right to make + such modifications as are technically necessary to exercise the rights + in other media and formats. Subject to Section 8(f), all rights not + expressly granted by Licensor are hereby reserved. + . + 4. Restrictions. The license granted in Section 3 above is expressly + made subject to and limited by the following restrictions: + . + 1. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any + terms on the Work that restrict the terms of this License or the + ability of the recipient of the Work to exercise the rights granted + to that recipient under the terms of the License. You may not + sublicense the Work. You must keep intact all notices that refer to + this License and to the disclaimer of warranties with every copy of + the Work You Distribute or Publicly Perform. When You Distribute or + Publicly Perform the Work, You may not impose any effective + technological measures on the Work that restrict the ability of a + recipient of the Work from You to exercise the rights granted to + that recipient under the terms of the License. This Section 4(a) + applies to the Work as incorporated in a Collection, but this does + not require the Collection apart from the Work itself to be made + subject to the terms of this License. If You create a Collection, + upon notice from any Licensor You must, to the extent practicable, + remove from the Collection any credit as required by Section 4(c), + as requested. If You create an Adaptation, upon notice from any + Licensor You must, to the extent practicable, remove from the + Adaptation any credit as required by Section 4(c), as requested. + 2. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License + with the same License Elements as this License; (iii) a Creative + Commons jurisdiction license (either this or a later license + version) that contains the same License Elements as this License + (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons + Compatible License. If you license the Adaptation under one of the + licenses mentioned in (iv), you must comply with the terms of that + license. If you license the Adaptation under the terms of any of the + licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), + you must comply with the terms of the Applicable License generally + and the following provisions: (I) You must include a copy of, or the + URI for, the Applicable License with every copy of each Adaptation + You Distribute or Publicly Perform; (II) You may not offer or impose + any terms on the Adaptation that restrict the terms of the + Applicable License or the ability of the recipient of the Adaptation + to exercise the rights granted to that recipient under the terms of + the Applicable License; (III) You must keep intact all notices that + refer to the Applicable License and to the disclaimer of warranties + with every copy of the Work as included in the Adaptation You + Distribute or Publicly Perform; (IV) when You Distribute or Publicly + Perform the Adaptation, You may not impose any effective + technological measures on the Adaptation that restrict the ability + of a recipient of the Adaptation from You to exercise the rights + granted to that recipient under the terms of the Applicable License. + This Section 4(b) applies to the Adaptation as incorporated in a + Collection, but this does not require the Collection apart from the + Adaptation itself to be made subject to the terms of the Applicable + License. + 3. If You Distribute, or Publicly Perform the Work or any Adaptations + or Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) + the name of the Original Author (or pseudonym, if applicable) if + supplied, and/or if the Original Author and/or Licensor designate + another party or parties (e.g., a sponsor institute, publishing + entity, journal) for attribution ("Attribution Parties") in + Licensor's copyright notice, terms of service or by other reasonable + means, the name of such party or parties; (ii) the title of the Work + if supplied; (iii) to the extent reasonably practicable, the URI, if + any, that Licensor specifies to be associated with the Work, unless + such URI does not refer to the copyright notice or licensing + information for the Work; and (iv) , consistent with Ssection 3(b), + in the case of an Adaptation, a credit identifying the use of the + Work in the Adaptation (e.g., "French translation of the Work by + Original Author," or "Screenplay based on original Work by Original + Author"). The credit required by this Section 4(c) may be + implemented in any reasonable manner; provided, however, that in the + case of a Adaptation or Collection, at a minimum such credit will + appear, if a credit for all contributing authors of the Adaptation + or Collection appears, then as part of these credits and in a manner + at least as prominent as the credits for the other contributing + authors. For the avoidance of doubt, You may only use the credit + required by this Section for the purpose of attribution in the + manner set out above and, by exercising Your rights under this + License, You may not implicitly or explicitly assert or imply any + connection with, sponsorship or endorsement by the Original Author, + Licensor and/or Attribution Parties, as appropriate, of You or Your + use of the Work, without the separate, express prior written + permission of the Original Author, Licensor and/or Attribution + Parties. + 4. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute + or Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify + or take other derogatory action in relation to the Work which would + be prejudicial to the Original Author's honor or reputation. + Licensor agrees that in those jurisdictions (e.g. Japan), in which + any exercise of the right granted in Section 3(b) of this License + (the right to make Adaptations) would be deemed to be a distortion, + mutilation, modification or other derogatory action prejudicial to + the Original Author's honor and reputation, the Licensor will waive + or not assert, as appropriate, this Section, to the fullest extent + permitted by the applicable national law, to enable You to + reasonably exercise Your right under Section 3(b) of this License + (right to make Adaptations) but not otherwise. + . + 5. Representations, Warranties and Disclaimer + . + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR + OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY + KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, + INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, + FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF + LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, + WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + . + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE + LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR + ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES + ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 7. Termination + . + 1. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here + is perpetual (for the duration of the applicable copyright in the + Work). Notwithstanding the above, Licensor reserves the right to + release the Work under different license terms or to stop + distributing the Work at any time; provided, however that any such + election will not serve to withdraw this License (or any other + license that has been, or is required to be, granted under the terms + of this License), and this License will continue in full force and + effect unless terminated as stated above. + . + 8. Miscellaneous + . + 1. Each time You Distribute or Publicly Perform the Work or a + Collection, the Licensor offers to the recipient a license to the + Work on the same terms and conditions as the license granted to You + under this License. + 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this + License. + 3. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability + of the remainder of the terms of this License, and without further + action by the parties to this agreement, such provision shall be + reformed to the minimum extent necessary to make such provision + valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in + writing and signed by the party to be charged with such waiver or + consent. + 5. This License constitutes the entire agreement between the parties + with respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and + You. + 6. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne + Convention for the Protection of Literary and Artistic Works (as + amended on September 28, 1979), the Rome Convention of 1961, the + WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms + Treaty of 1996 and the Universal Copyright Convention (as revised on + July 24, 1971). These rights and subject matter take effect in the + relevant jurisdiction in which the License terms are sought to be + enforced according to the corresponding provisions of the + implementation of those treaty provisions in the applicable national + law. If the standard suite of rights granted under applicable + copyright law includes additional rights not granted under this + License, such additional rights are deemed to be included in the + License; this License is not intended to restrict the license of any + rights under applicable law. + . + Creative Commons Notice + . + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + . + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of the License. + . + Creative Commons may be contacted at http://creativecommons.org/. + + diff --git a/conf/licenses/license_texts/adwaita-icon-theme/GPL-unspecified.txt b/conf/licenses/license_texts/adwaita-icon-theme/GPL-unspecified.txt new file mode 100644 index 00000000..d0401b76 --- /dev/null +++ b/conf/licenses/license_texts/adwaita-icon-theme/GPL-unspecified.txt @@ -0,0 +1,5 @@ +This file is distributed under the terms of GNU General Public License (GPL) +Comment: + On Debian systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL'. + diff --git a/conf/licenses/license_texts/blt/MIT-1.txt b/conf/licenses/license_texts/blt/MIT-1.txt new file mode 100644 index 00000000..11c1e7e5 --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-1.txt @@ -0,0 +1,15 @@ +to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that the +copyright notice and warranty disclaimer appear in supporting documentation, +and that the names of Lucent Technologies any of their entities not be used +in advertising or publicity pertaining to distribution of the software +without specific, written prior permission. + +Lucent Technologies disclaims all warranties with regard to this software, +including all implied warranties of merchantability and fitness. In no event +shall Lucent Technologies be liable for any special, indirect or +consequential damages or any damages whatsoever resulting from loss of use, +data or profits, whether in an action of contract, negligence or other +tortuous action, arising out of or in connection with the use or performance +of this software. diff --git a/conf/licenses/license_texts/blt/MIT-2.txt b/conf/licenses/license_texts/blt/MIT-2.txt new file mode 100644 index 00000000..4f964972 --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-2.txt @@ -0,0 +1,15 @@ + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, + provided that the above copyright notice appear in all copies and that + both that copyright notice and this permission notice appear in + supporting documentation, and that the names of Digital or MIT not be + used in advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR + ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. diff --git a/conf/licenses/license_texts/blt/MIT-3.txt b/conf/licenses/license_texts/blt/MIT-3.txt new file mode 100644 index 00000000..e693cc2f --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-3.txt @@ -0,0 +1,9 @@ + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, provided + that the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation, and that the name of M.I.T. not be used in advertising + or publicity pertaining to distribution of the software without specific, + written prior permission. M.I.T. makes no representations about the + suitability of this software for any purpose. It is provided "as is" + without express or implied warranty. diff --git a/conf/licenses/license_texts/blt/MIT-4.txt b/conf/licenses/license_texts/blt/MIT-4.txt new file mode 100644 index 00000000..15cae1e7 --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-4.txt @@ -0,0 +1,17 @@ +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and warranty +disclaimer appear in supporting documentation, and that the names +of Lucent Technologies any of their entities not be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. + +Silicon Metrics disclaims all warranties with regard to this +software, including all implied warranties of merchantability and +fitness. In no event shall Lucent Technologies be liable for any +special, indirect or consequential damages or any damages +whatsoever resulting from loss of use, data or profits, whether in +an action of contract, negligence or other tortuous action, arising +out of or in connection with the use or performance of this +software. diff --git a/conf/licenses/license_texts/blt/MIT-5.txt b/conf/licenses/license_texts/blt/MIT-5.txt new file mode 100644 index 00000000..720c7104 --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-5.txt @@ -0,0 +1,16 @@ +Permission to use, copy, modify, and distribute this software +and its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and warranty +disclaimer appear in supporting documentation, and that the +names of AT&T Bell Laboratories any of their entities not be used +in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +AT&T disclaims all warranties with regard to this software, including +all implied warranties of merchantability and fitness. In no event +shall AT&T be liable for any special, indirect or consequential +damages or any damages whatsoever resulting from loss of use, data +or profits, whether in an action of contract, negligence or other +tortuous action, arising out of or in connection with the use or +performance of this software. diff --git a/conf/licenses/license_texts/blt/MIT-6.txt b/conf/licenses/license_texts/blt/MIT-6.txt new file mode 100644 index 00000000..18e334f8 --- /dev/null +++ b/conf/licenses/license_texts/blt/MIT-6.txt @@ -0,0 +1,16 @@ +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT +OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF +CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. diff --git a/conf/licenses/license_texts/gstreamer1.0-plugins-good/BSD.txt b/conf/licenses/license_texts/gstreamer1.0-plugins-good/BSD.txt new file mode 100644 index 00000000..5a9965be --- /dev/null +++ b/conf/licenses/license_texts/gstreamer1.0-plugins-good/BSD.txt @@ -0,0 +1 @@ +Copyright (C) 4Front Technologies 2000-2006. Released under the BSD license. diff --git a/conf/licenses/license_texts/libc6/CE-Chew-Acknowledge.txt b/conf/licenses/license_texts/libc6/CE-Chew-Acknowledge.txt new file mode 100644 index 00000000..e7b21b1f --- /dev/null +++ b/conf/licenses/license_texts/libc6/CE-Chew-Acknowledge.txt @@ -0,0 +1,8 @@ +* Part of stdio-common/tst-printf.c is copyright C E Chew: + + (C) Copyright C E Chew + + Feel free to copy, use and distribute this software provided: + + 1. you do not pretend that you wrote it + 2. you leave this copyright notice intact. diff --git a/conf/licenses/license_texts/libc6/Henry-Spencer-Regex.txt b/conf/licenses/license_texts/libc6/Henry-Spencer-Regex.txt new file mode 100644 index 00000000..92bc828c --- /dev/null +++ b/conf/licenses/license_texts/libc6/Henry-Spencer-Regex.txt @@ -0,0 +1,22 @@ +* The posix/rxspencer tests are copyright Henry Spencer: + + Copyright 1992, 1993, 1994, 1997 Henry Spencer. All rights reserved. + This software is not subject to any license of the American Telephone + and Telegraph Company or of the Regents of the University of California. + + Permission is granted to anyone to use this software for any purpose on + any computer system, and to alter it and redistribute it, subject + to the following restrictions: + + 1. The author is not responsible for the consequences of use of this + software, no matter how awful, even if they arise from flaws in it. + + 2. The origin of this software must not be misrepresented, either by + explicit claim or by omission. Since few users ever read sources, + credits must appear in the documentation. + + 3. Altered versions must be plainly marked as such, and must not be + misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation. + + 4. This notice may not be removed or altered. diff --git a/conf/licenses/license_texts/libc6/ISOC-RFC3492bis.txt b/conf/licenses/license_texts/libc6/ISOC-RFC3492bis.txt new file mode 100644 index 00000000..e0f0b09c --- /dev/null +++ b/conf/licenses/license_texts/libc6/ISOC-RFC3492bis.txt @@ -0,0 +1,40 @@ +* The following applies to portions of libidn/punycode.c and + libidn/punycode.h: + + This file is derived from RFC 3492bis written by Adam M. Costello. + + Disclaimer and license: Regarding this entire document or any + portion of it (including the pseudocode and C code), the author + makes no guarantees and is not responsible for any damage resulting + from its use. The author grants irrevocable permission to anyone + to use, modify, and distribute it in any way that does not diminish + the rights of anyone else to use, modify, and distribute it, + provided that redistributed derivative works do not contain + misleading author or version information. Derivative works need + not be licensed under similar terms. + + Copyright (C) The Internet Society (2003). All Rights Reserved. + + This document and translations of it may be copied and furnished to + others, and derivative works that comment on or otherwise explain it + or assist in its implementation may be prepared, copied, published + and distributed, in whole or in part, without restriction of any + kind, provided that the above copyright notice and this paragraph are + included on all such copies and derivative works. However, this + document itself may not be modified in any way, such as by removing + the copyright notice or references to the Internet Society or other + Internet organizations, except as needed for the purpose of + developing Internet standards in which case the procedures for + copyrights defined in the Internet Standards process must be + followed, or as required to translate it into languages other than + English. + + The limited permissions granted above are perpetual and will not be + revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on an + "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. diff --git a/conf/licenses/license_texts/libc6/InnerNet-2.00.txt b/conf/licenses/license_texts/libc6/InnerNet-2.00.txt new file mode 100644 index 00000000..ab239706 --- /dev/null +++ b/conf/licenses/license_texts/libc6/InnerNet-2.00.txt @@ -0,0 +1,37 @@ +* The files inet/getnameinfo.c and sysdeps/posix/getaddrinfo.c are copyright + (C) by Craig Metz and are distributed under the following license: + + /* The Inner Net License, Version 2.00 + + The author(s) grant permission for redistribution and use in source and + binary forms, with or without modification, of the software and documentation + provided that the following conditions are met: + + 0. If you receive a version of the software that is specifically labelled + as not being for redistribution (check the version message and/or README), + you are not permitted to redistribute that version of the software in any + way or form. + 1. All terms of the all other applicable copyrights and licenses must be + followed. + 2. Redistributions of source code must retain the authors' copyright + notice(s), this list of conditions, and the following disclaimer. + 3. Redistributions in binary form must reproduce the authors' copyright + notice(s), this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 4. [The copyright holder has authorized the removal of this clause.] + 5. Neither the name(s) of the author(s) nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY ITS AUTHORS AND CONTRIBUTORS ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + If these license terms cause you a real problem, contact the author. */ diff --git a/conf/licenses/license_texts/libcairo2/DavidReveman.txt b/conf/licenses/license_texts/libcairo2/DavidReveman.txt new file mode 100644 index 00000000..f4d6cb46 --- /dev/null +++ b/conf/licenses/license_texts/libcairo2/DavidReveman.txt @@ -0,0 +1,21 @@ +Copyright 2004 David Reveman + Permission to use, copy, modify, distribute, and sell this software + and its documentation for any purpose is hereby granted without + fee, provided that the above copyright notice appear in all copies + and that both that copyright notice and this permission notice + appear in supporting documentation, and that the name of David + Reveman not be used in advertising or publicity pertaining to + distribution of the software without specific, written prior + permission. David Reveman makes no representations about the + suitability of this software for any purpose. It is provided "as + is" without express or implied warranty. + + DAVID REVEMAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS, IN NO EVENT SHALL DAVID REVEMAN BE LIABLE FOR ANY SPECIAL, + INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR + IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + Author: David Reveman diff --git a/conf/licenses/license_texts/libflite1/Henry-Spencer-Regexp.txt b/conf/licenses/license_texts/libflite1/Henry-Spencer-Regexp.txt new file mode 100644 index 00000000..217cb9ef --- /dev/null +++ b/conf/licenses/license_texts/libflite1/Henry-Spencer-Regexp.txt @@ -0,0 +1,18 @@ +Author: Henry Spencer + +Copyright (c) 1986 by University of Toronto. + +License: + Permission is granted to anyone to use this software for any + purpose on any computer system, and to redistribute it freely, + subject to the following restrictions: + + 1. The author is not responsible for the consequences of use of + this software, no matter how awful, even if they arise + from defects in it. + + 2. The origin of this software must not be misrepresented, either + by explicit claim or by omission. + + 3. Altered versions must be plainly marked as such, and must not + be misrepresented as being the original software. diff --git a/conf/licenses/license_texts/libflite1/doc-cmu.txt b/conf/licenses/license_texts/libflite1/doc-cmu.txt new file mode 100644 index 00000000..838b35b4 --- /dev/null +++ b/conf/licenses/license_texts/libflite1/doc-cmu.txt @@ -0,0 +1,25 @@ + Author: Carnegie Mellon University + +Copyright (c) 2001-2005 Carnegie Mellon University + +License: + Permission is granted to make and distribute verbatim copies of + this manual provided the copyright notice and this permission notice + are preserved on all copies. + + Permission is granted to process this file through TeX, or otherwise and + print the results, provided the printed document carries copying + permission notice identical to this one except for the removal of this + paragraph (this paragraph not being relevant to the printed manual). + + Permission is granted to copy and distribute modified versions of this + manual under the conditions for verbatim copying, provided that the entire + resulting derived work is distributed under the terms of a permission + notice identical to this one. + + Permission is granted to copy and distribute translations of this manual + into another language, under the above conditions for modified versions, + except that this permission notice may be stated in a translation approved + by the authors. + m is hereby granted, free of charge, to use and distribute + diff --git a/conf/licenses/license_texts/libflite1/public-domain.txt b/conf/licenses/license_texts/libflite1/public-domain.txt new file mode 100644 index 00000000..bbe263a6 --- /dev/null +++ b/conf/licenses/license_texts/libflite1/public-domain.txt @@ -0,0 +1,6 @@ +mkinstalldirs +The first two chapters of Alice in Wonderland + +Author: Noah Friedman + Gutenburg project (for Alice in Wonderland) + diff --git a/conf/licenses/license_texts/libgcrypt20/OCB.txt b/conf/licenses/license_texts/libgcrypt20/OCB.txt new file mode 100644 index 00000000..60720f5f --- /dev/null +++ b/conf/licenses/license_texts/libgcrypt20/OCB.txt @@ -0,0 +1,88 @@ +OCB is covered by several patents but may be used freely by most +software. See http://web.cs.ucdavis.edu/~rogaway/ocb/license.htm . +In particular license 1 is suitable for Libgcrypt: See +http://web.cs.ucdavis.edu/~rogaway/ocb/license1.pdf for the full +license document; it basically says: + + License 1 — License for Open-Source Software Implementations of OCB + (Jan 9, 2013) + + Under this license, you are authorized to make, use, and + distribute open-source software implementations of OCB. This + license terminates for you if you sue someone over their + open-source software implementation of OCB claiming that you have + a patent covering their implementation. + + + + License for Open Source Software Implementations of OCB + January 9, 2013 + + 1 Definitions + + 1.1 “Licensor” means Phillip Rogaway. + + 1.2 “Licensed Patents” means any patent that claims priority to United + States Patent Application No. 09/918,615 entitled “Method and Apparatus + for Facilitating Efficient Authenticated Encryption,” and any utility, + divisional, provisional, continuation, continuations-in-part, reexamination, + reissue, or foreign counterpart patents that may issue with respect to the + aforesaid patent application. This includes, but is not limited to, United + States Patent No. 7,046,802; United States Patent No. 7,200,227; United + States Patent No. 7,949,129; United States Patent No. 8,321,675 ; and any + patent that issues out of United States Patent Application No. 13/669,114. + + 1.3 “Use” means any practice of any invention claimed in the Licensed Patents. + + 1.4 “Software Implementation” means any practice of any invention + claimed in the Licensed Patents that takes the form of software executing on + a user-programmable, general-purpose computer or that takes the form of a + computer-readable medium storing such software. Software Implementation does + not include, for example, application-specific integrated circuits (ASICs), + field-programmable gate arrays (FPGAs), embedded systems, or IP cores. + + 1.5 “Open Source Software” means software whose source code is published + and made available for inspection and use by anyone because either (a) the + source code is subject to a license that permits recipients to copy, modify, + and distribute the source code without payment of fees or royalties, or + (b) the source code is in the public domain, including code released for + public use through a CC0 waiver. All licenses certified by the Open Source + Initiative at opensource.org as of January 9, 2013 and all Creative Commons + licenses identified on the creativecommons.org website as of January 9, + 2013, including the Public License Fallback of the CC0 waiver, satisfy these + requirements for the purposes of this license. + + 1.6 “Open Source Software Implementation” means a Software + Implementation in which the software implicating the Licensed Patents is + Open Source Software. Open Source Software Implementation does not include + any Software Implementation in which the software implicating the Licensed + Patents is combined, so as to form a larger program, with software that is + not Open Source Software. + + 2 License Grant + + 2.1 License. Subject to your compliance with the term s of this license, + including the restriction set forth in Section 2.2, Licensor hereby + grants to you a perpetual, worldwide, non-exclusive, non-transferable, + non-sublicenseable, no-charge, royalty-free, irrevocable license to practice + any invention claimed in the Licensed Patents in any Open Source Software + Implementation. + + 2.2 Restriction. If you or your affiliates institute patent litigation + (including, but not limited to, a cross-claim or counterclaim in a lawsuit) + against any entity alleging that any Use authorized by this license + infringes another patent, then any rights granted to you under this license + automatically terminate as of the date such litigation is filed. + + 3 Disclaimer + YOUR USE OF THE LICENSED PATENTS IS AT YOUR OWN RISK AND UNLESS REQUIRED + BY APPLICABLE LAW, LICENSOR MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY + KIND CONCERNING THE LICENSED PATENTS OR ANY PRODUCT EMBODYING ANY LICENSED + PATENT, EXPRESS OR IMPLIED, STATUT ORY OR OTHERWISE, INCLUDING, WITHOUT + LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR + PURPOSE, OR NONINFRINGEMENT. IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM OR RELATED TO ANY USE OF THE LICENSED PATENTS, INCLUDING, + WITHOUT LIMITATION, DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE + OR SPECIAL DAMAGES, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF + SUCH DAMAGES PRIOR TO SUCH AN OCCURRENCE. diff --git a/conf/licenses/license_texts/libgcrypt20/public-domain.txt b/conf/licenses/license_texts/libgcrypt20/public-domain.txt new file mode 100644 index 00000000..6aa4a0c6 --- /dev/null +++ b/conf/licenses/license_texts/libgcrypt20/public-domain.txt @@ -0,0 +1,3 @@ +Author: Marc Bevand +Licence: I hereby disclaim the copyright on this code and place it +in the public domain. diff --git a/conf/licenses/license_texts/libgnutls30/CRYPTOGAMS.txt b/conf/licenses/license_texts/libgnutls30/CRYPTOGAMS.txt new file mode 100644 index 00000000..0d412adb --- /dev/null +++ b/conf/licenses/license_texts/libgnutls30/CRYPTOGAMS.txt @@ -0,0 +1,36 @@ +# Copyright (c) 2011-2016, Andy Polyakov by +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain copyright notices, +# this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials +# provided with the distribution. +# +# * Neither the name of the Andy Polyakov nor the names of its +# copyright holder and contributors may be used to endorse or +# promote products derived from this software without specific +# prior written permission. +# +# ALTERNATIVELY, provided that this notice is retained in full, this +# product may be distributed under the terms of the GNU General Public +# License (GPL), in which case the provisions of the GPL apply INSTEAD OF +# those given above. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/conf/licenses/license_texts/libgnutls30/public-domain.txt b/conf/licenses/license_texts/libgnutls30/public-domain.txt new file mode 100644 index 00000000..d5edeb5d --- /dev/null +++ b/conf/licenses/license_texts/libgnutls30/public-domain.txt @@ -0,0 +1,6 @@ +Upstream Authors: Mike Hamburg (Stanford University) + +Copyright: + * Mike Hamburg (Stanford University), 2009. +License: + Public domain. diff --git a/conf/licenses/license_texts/libgssapi-krb5-2/OpenVision.txt b/conf/licenses/license_texts/libgssapi-krb5-2/OpenVision.txt new file mode 100644 index 00000000..6c1fe123 --- /dev/null +++ b/conf/licenses/license_texts/libgssapi-krb5-2/OpenVision.txt @@ -0,0 +1,38 @@ +The following copyright and permission notice applies to the +OpenVision Kerberos Administration system located in "kadmin/create", +"kadmin/dbutil", "kadmin/passwd", "kadmin/server", "lib/kadm5", and +portions of "lib/rpc": + + Copyright, OpenVision Technologies, Inc., 1993-1996, All Rights + Reserved + + WARNING: Retrieving the OpenVision Kerberos Administration system + source code, as described below, indicates your acceptance of the + following terms. If you do not agree to the following terms, do + not retrieve the OpenVision Kerberos administration system. + + You may freely use and distribute the Source Code and Object Code + compiled from it, with or without modification, but this Source + Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, + INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR + FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER + EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY + FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR + CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, + WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE + CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY + OTHER REASON. + + OpenVision retains all copyrights in the donated Source Code. + OpenVision also retains copyright to derivative works of the Source + Code, whether created by OpenVision or by a third party. The + OpenVision copyright notice must be preserved if derivative works + are made based on the donated Source Code. + + OpenVision Technologies, Inc. has donated this Kerberos + Administration system to MIT for inclusion in the standard Kerberos + 5 distribution. This donation underscores our commitment to + continuing Kerberos technology development and our gratitude for + the valuable work which has been performed by MIT and the Kerberos + community. diff --git a/conf/licenses/license_texts/libgssapi-krb5-2/PKINIT.txt b/conf/licenses/license_texts/libgssapi-krb5-2/PKINIT.txt new file mode 100644 index 00000000..b90404ab --- /dev/null +++ b/conf/licenses/license_texts/libgssapi-krb5-2/PKINIT.txt @@ -0,0 +1,24 @@ +COPYRIGHT (C) 2006-2007 +THE REGENTS OF THE UNIVERSITY OF MICHIGAN +ALL RIGHTS RESERVED + +Permission is granted to use, copy, create derivative works and +redistribute this software and such derivative works for any +purpose, so long as the name of The University of Michigan is not +used in any advertising or publicity pertaining to the use of +distribution of this software without specific, written prior +authorization. If the above copyright notice or any other +identification of the University of Michigan is included in any +copy of any portion of this software, then the disclaimer below +must also be included. + +THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE +UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND +WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER +EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE FOR +ANY DAMAGES, INCLUDING SPECIAL, INDIRECT, INCIDENTAL, OR +CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM ARISING OUT OF OR +IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN IF IT HAS BEEN OR +IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. diff --git a/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD4.txt b/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD4.txt new file mode 100644 index 00000000..b98cb3a7 --- /dev/null +++ b/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD4.txt @@ -0,0 +1,19 @@ +Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. + +License to copy and use this software is granted provided that it +is identified as the "RSA Data Security, Inc. MD4 Message Digest +Algorithm" in all material mentioning or referencing this software +or this function. + +License is also granted to make and use derivative works provided +that such works are identified as "derived from the RSA Data +Security, Inc. MD4 Message Digest Algorithm" in all material +mentioning or referencing the derived work. + +RSA Data Security, Inc. makes no representations concerning either +the merchantability of this software or the suitability of this +software for any particular purpose. It is provided "as is" +without express or implied warranty of any kind. + +These notices must be retained in any copies of any part of this +documentation and/or software. diff --git a/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD5.txt b/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD5.txt new file mode 100644 index 00000000..616b5d0b --- /dev/null +++ b/conf/licenses/license_texts/libgssapi-krb5-2/RSA-MD5.txt @@ -0,0 +1,19 @@ +Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. + +License to copy and use this software is granted provided that it +is identified as the "RSA Data Security, Inc. MD5 Message- Digest +Algorithm" in all material mentioning or referencing this software +or this function. + +License is also granted to make and use derivative works provided +that such works are identified as "derived from the RSA Data +Security, Inc. MD5 Message-Digest Algorithm" in all material +mentioning or referencing the derived work. + +RSA Data Security, Inc. makes no representations concerning either +the merchantability of this software or the suitability of this +software for any particular purpose. It is provided "as is" +without express or implied warranty of any kind. + +These notices must be retained in any copies of any part of this +documentation and/or software. diff --git a/conf/licenses/license_texts/libgtk2.0-0/Sun-Government-Clause.txt b/conf/licenses/license_texts/libgtk2.0-0/Sun-Government-Clause.txt new file mode 100644 index 00000000..45c6959c --- /dev/null +++ b/conf/licenses/license_texts/libgtk2.0-0/Sun-Government-Clause.txt @@ -0,0 +1,58 @@ +This software is copyrighted by the Regents of the University of +California, Sun Microsystems, Inc., and other parties. The +following terms apply to all files associated with the software +unless explicitly disclaimed in individual files. +. +The authors hereby grant permission to use, copy, modify, +distribute, and license this software and its documentation for any +purpose, provided that existing copyright notices are retained in +all copies and that this notice is included verbatim in any +distributions. No written agreement, license, or royalty fee is +required for any of the authorized uses. Modifications to this +software may be copyrighted by their authors and need not follow +the licensing terms described here, provided that the new terms are +clearly indicated on the first page of each file where they apply. +. +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY +PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, +OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +. +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND +NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, +AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE +MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +. +GOVERNMENT USE: If you are acquiring this software on behalf of the +U.S. government, the Government shall have only "Restricted Rights" +in the software and related documentation as defined in the Federal +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +are acquiring the software on behalf of the Department of Defense, +the software shall be classified as "Commercial Computer Software" +and the Government shall have only "Restricted Rights" as defined +in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the +foregoing, the authors grant the U.S. Government and others acting +in its behalf permission to use and distribute the software in +accordance with the terms specified in this license. +. +or +. +This library is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as published by the +Free Software Foundation; either version 2 of the License, or (at your +option) any later version. +. +This library is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License +for more details. +. +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the +Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +02110-1301 USA. +. +See /usr/share/common-licenses/LGPL-2 on your debian system. diff --git a/conf/licenses/license_texts/libgtk2.0-0/Wintab-Free-Use.txt b/conf/licenses/license_texts/libgtk2.0-0/Wintab-Free-Use.txt new file mode 100644 index 00000000..6c03ad2a --- /dev/null +++ b/conf/licenses/license_texts/libgtk2.0-0/Wintab-Free-Use.txt @@ -0,0 +1,2 @@ +The text and information contained in this file may be freely used, +copied, or distributed without compensation or licensing restrictions. diff --git a/conf/licenses/license_texts/libksba8/ISOC-Standard-Notice.txt b/conf/licenses/license_texts/libksba8/ISOC-Standard-Notice.txt new file mode 100644 index 00000000..d56e7c28 --- /dev/null +++ b/conf/licenses/license_texts/libksba8/ISOC-Standard-Notice.txt @@ -0,0 +1,28 @@ +The ASN.1 definition for CMS is based on a specification published +under the following terms (see src/cms.asn): + + | Copyright (C) The Internet Society (1999). All Rights Reserved. + | + | This document and translations of it may be copied and furnished to + | others, and derivative works that comment on or otherwise explain it + | or assist in its implementation may be prepared, copied, published + | and distributed, in whole or in part, without restriction of any + | kind, provided that the above copyright notice and this paragraph are + | included on all such copies and derivative works. However, this + | document itself may not be modified in any way, such as by removing + | the copyright notice or references to the Internet Society or other + | Internet organizations, except as needed for the purpose of + | developing Internet standards in which case the procedures for + | copyrights defined in the Internet Standards process must be + | followed, or as required to translate it into languages other than + | English. + | + | The limited permissions granted above are perpetual and will not be + | revoked by the Internet Society or its successors or assigns. + | + | This document and the information contained herein is provided on an + | "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + | TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + | BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + | HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + | MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. diff --git a/conf/licenses/license_texts/liblrdf0/public-domain.txt b/conf/licenses/license_texts/liblrdf0/public-domain.txt new file mode 100644 index 00000000..3c78846e --- /dev/null +++ b/conf/licenses/license_texts/liblrdf0/public-domain.txt @@ -0,0 +1,8 @@ +No copyright is claimed, and the software is hereby placed in the +public domain. In case this attempt to disclaim copyright and place the +software in the public domain is deemed null and void, then the +software is Copyright (c) 2001 Alexander Peslyak and it is hereby +released to the general public under the following terms: +. +Redistribution and use in source and binary forms, with or without +modification, are permitted. diff --git a/conf/licenses/license_texts/libmjpegutils-2.1-0/MSSG-public-domain.txt b/conf/licenses/license_texts/libmjpegutils-2.1-0/MSSG-public-domain.txt new file mode 100644 index 00000000..77d2206c --- /dev/null +++ b/conf/licenses/license_texts/libmjpegutils-2.1-0/MSSG-public-domain.txt @@ -0,0 +1,21 @@ +* Disclaimer of Warranty +* +* These software programs are available to the user without any license fee or +* royalty on an "as is" basis. The MPEG Software Simulation Group disclaims +* any and all warranties, whether express, implied, or statuary, including any +* implied warranties or merchantability or of fitness for a particular +* purpose. In no event shall the copyright-holder be liable for any +* incidental, punitive, or consequential damages of any kind whatsoever +* arising from the use of these programs. +* +* This disclaimer of warranty extends to the user of these programs and user's +* customers, employees, agents, transferees, successors, and assigns. +* +* The MPEG Software Simulation Group does not represent or warrant that the +* programs furnished hereunder are free of infringement of any third-party +* patents. +* +* Commercial implementations of MPEG-1 and MPEG-2 video, including shareware, +* are subject to royalty fees to patent holders. Many of these patents are +* general enough such that they are unavoidable regardless of implementation +* design. diff --git a/conf/licenses/license_texts/libtcl8.6/TCL-Regents-Government-Clause.txt b/conf/licenses/license_texts/libtcl8.6/TCL-Regents-Government-Clause.txt new file mode 100644 index 00000000..4c0ba698 --- /dev/null +++ b/conf/licenses/license_texts/libtcl8.6/TCL-Regents-Government-Clause.txt @@ -0,0 +1,41 @@ +Copyright: + +This software is copyrighted by the Regents of the University of +California, Sun Microsystems, Inc., Scriptics Corporation, +and other parties. The following terms apply to all files associated +with the software unless explicitly disclaimed in individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. + +GOVERNMENT USE: If you are acquiring this software on behalf of the +U.S. government, the Government shall have only "Restricted Rights" +in the software and related documentation as defined in the Federal +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +are acquiring the software on behalf of the Department of Defense, the +software shall be classified as "Commercial Computer Software" and the +Government shall have only "Restricted Rights" as defined in Clause +252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +authors grant the U.S. Government and others acting in its behalf +permission to use and distribute the software in accordance with the +terms specified in this license. diff --git a/conf/licenses/license_texts/libtk8.6/TK-Regents-Government-Clause.txt b/conf/licenses/license_texts/libtk8.6/TK-Regents-Government-Clause.txt new file mode 100644 index 00000000..b1edc4f8 --- /dev/null +++ b/conf/licenses/license_texts/libtk8.6/TK-Regents-Government-Clause.txt @@ -0,0 +1,42 @@ +Copyright: + +This software is copyrighted by the Regents of the University of +California, Sun Microsystems, Inc., and other parties. The following +terms apply to all files associated with the software unless explicitly +disclaimed in individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. + +GOVERNMENT USE: If you are acquiring this software on behalf of the +U.S. government, the Government shall have only "Restricted Rights" +in the software and related documentation as defined in the Federal +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +are acquiring the software on behalf of the Department of Defense, the +software shall be classified as "Commercial Computer Software" and the +Government shall have only "Restricted Rights" as defined in Clause +252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +authors grant the U.S. Government and others acting in its behalf +permission to use and distribute the software in accordance with the +terms specified in this license. + diff --git a/conf/licenses/license_texts/libx11-6/Tektronix.txt b/conf/licenses/license_texts/libx11-6/Tektronix.txt new file mode 100644 index 00000000..29d3a25d --- /dev/null +++ b/conf/licenses/license_texts/libx11-6/Tektronix.txt @@ -0,0 +1,34 @@ +Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc. +All Rights Reserved + +This file is a component of an X Window System-specific implementation +of Xcms based on the TekColor Color Management System. TekColor is a +trademark of Tektronix, Inc. The term "TekHVC" designates a particular +color space that is the subject of U.S. Patent No. 4,985,853 (equivalent +foreign patents pending). Permission is hereby granted to use, copy, +modify, sell, and otherwise distribute this software and its +documentation for any purpose and without fee, provided that: + +1. This copyright, permission, and disclaimer notice is reproduced in + all copies of this software and any modification thereof and in + supporting documentation; +2. Any color-handling application which displays TekHVC color + cooordinates identifies these as TekHVC color coordinates in any + interface that displays these coordinates and in any associated + documentation; +3. The term "TekHVC" is always used, and is only used, in association + with the mathematical derivations of the TekHVC Color Space, + including those provided in this file and any equivalent pathways and + mathematical derivations, regardless of digital (e.g., floating point + or integer) representation. + +Tektronix makes no representation about the suitability of this software +for any purpose. It is provided "as is" and with all faults. + +TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE, +INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE. diff --git a/conf/licenses/license_texts/libxinerama1/X11-no-permit-persons.txt b/conf/licenses/license_texts/libxinerama1/X11-no-permit-persons.txt new file mode 100644 index 00000000..504b2eb7 --- /dev/null +++ b/conf/licenses/license_texts/libxinerama1/X11-no-permit-persons.txt @@ -0,0 +1,23 @@ +Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. diff --git a/conf/licenses/license_texts/libzbar0/zbar-bsd-style.txt b/conf/licenses/license_texts/libzbar0/zbar-bsd-style.txt new file mode 100644 index 00000000..58b38153 --- /dev/null +++ b/conf/licenses/license_texts/libzbar0/zbar-bsd-style.txt @@ -0,0 +1,2 @@ +Portions of the bit stream reader are copyright (C) The Xiph.Org Foundation + 1994-2008, and are licensed under a BSD-style license. diff --git a/conf/licenses/license_texts/libzbar0/zbar-public-domain.txt b/conf/licenses/license_texts/libzbar0/zbar-public-domain.txt new file mode 100644 index 00000000..14127a1f --- /dev/null +++ b/conf/licenses/license_texts/libzbar0/zbar-public-domain.txt @@ -0,0 +1,2 @@ +ISAAC is based on the public domain implementation by Robert J. Jenkins Jr., + and is itself public domain. diff --git a/conf/licenses/license_texts/xkb-data/Mitos.txt b/conf/licenses/license_texts/xkb-data/Mitos.txt new file mode 100644 index 00000000..3cbb0501 --- /dev/null +++ b/conf/licenses/license_texts/xkb-data/Mitos.txt @@ -0,0 +1,15 @@ +Copyright (C) 1999, 2000 by Anton Zinoviev + +This software may be used, modified, copied, distributed, and sold, +in both source and binary form provided that the above copyright +and these terms are retained. Under no circumstances is the author +responsible for the proper functioning of this software, nor does +the author assume any responsibility for damages incurred with its +use. + +Permission is granted to anyone to use, distribute and modify +this file in any way, provided that the above copyright notice +is left iTCLTCLTCLTCLTCLTCLTCLTCLntact and the author of the modification summarizes +the changes in this header. + +This file is distributed without any expressed or implied warranty. diff --git a/conf/licenses/license_texts/xwayland/X11-no-permit-persons.txt b/conf/licenses/license_texts/xwayland/X11-no-permit-persons.txt new file mode 100644 index 00000000..b0911ef4 --- /dev/null +++ b/conf/licenses/license_texts/xwayland/X11-no-permit-persons.txt @@ -0,0 +1,23 @@ +Copyright (c) 1991, 1996-1997 Digital Equipment Corporation, Maynard, Massachusetts. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. diff --git a/conf/licenses/licenses.yml b/conf/licenses/licenses.yml index 6d419f53..85a59ca5 100644 --- a/conf/licenses/licenses.yml +++ b/conf/licenses/licenses.yml @@ -1,972 +1,1172 @@ # format +# +# Format 1: # debian binary package name: # licenses: [ -# "LICENSE A", -# "LICENSE B" +# "LICENSE_NAME_A", +# "LICENSE_NAME_B" # ] +# +# Format 2: +# debian binary package name: +# licenses: +# - LICENSE_NAME_A +# - LICENSE_NAME_B +# +# Format 3: +# debian binary package name: +# licenses: +# license: +# - LICENSE_NAME_A +# - LICENSE_NAME_B +# - LICENSE_NAME_C +# text: +# LICENSE_NAME_C: /path/to/license text file +# +# Format 3 can put License text in a file if license is not defined SPDX License ID list +# (https://spdx.org/licenses/). +# Path to license file can be used both absolute and relative path from /conf/licenses/license_texts. +# If use relative path, text file should be in conf/licenses/license_texts in your layer. +# create_sbom.py use /conf/licenses/license_texts as base path. +# For example, adwaita-icon-theme package, we defined CC-BY-3.0-US license following line. +# CC-BY-3.0-US: adwaita-icon-theme/CC-BY-SA-3.0-US.txt +# Above example, create_sbom.py create file path as "meta-emlinux/conf/licenses/license_texts/adwaita-icon-theme/CC-BY-SA-3.0-US.txt" +# +# Layer is able to have it own licenses.yml file in /conf/licenses directory. +# If custom layer is called meta-custom, you can put meta-custom/conf/licenses/licenses.yml file. +# If meta-custom/conf/licenses/licenses.yml contais following line +# MY-LICENSE: myapp/license.txt +# create_sbom.py will read meta-custom/conf/licenses/license_texts/myapp/license.txt +# +# In this file, some packages use Format 3 style definition. adwaita-icon-theme: - licenses: [ - CC-BY-SA-3.0, - LGPL-3.0-only, - CC-BY-SA-3.0-US, - CC-BY-SA-4.0, - GFDL-1.2+, - CC-BY-SA-3.0-Unported, - CC-BY-SA-2.0-IT, - CC-BY-3.0-US, - ] + licenses: + license: + - CC-BY-SA-3.0 or LGPL-3 + - CC-BY-SA-3.0-US or LGPL-3 + - GPL-unspecified + - CC-BY-SA-4.0 + - GFDL-1.2+ or CC-BY-SA-3.0-Unported or CC-BY-SA-2.0-IT + - CC-BY-3.0-US + text: + GPL-unspecified: adwaita-icon-theme/GPL-unspecified.txt + CC-BY-SA-2.0-IT: adwaita-icon-theme/CC-BY-SA-2.0-IT.txt + CC-BY-SA-3.0-Unported: adwaita-icon-theme/CC-BY-SA-3.0-Unported.txt + CC-BY-SA-3.0-US: adwaita-icon-theme/CC-BY-SA-3.0-US.txt base-files: - licenses: [ - GPL-3, - ] + licenses: + - GPL-2.0-or-later busybox: - licenses: [ - GPL-2, - ] + licenses: + GPL-2.0-or-later busybox-static: - licenses: [ - GPL-2, - ] + licenses: + GPL-2.0-or-later +blt: + licenses: + license: + - MIT-1 + - MIT-2 + - MIT-3 + - MIT-4 + - MIT-5 + - MIT-6 + - TCL + text: + MIT-1: blt/MIT-1.txt + MIT-2: blt/MIT-2.txt + MIT-3: blt/MIT-3.txt + MIT-4: blt/MIT-4.txt + MIT-5: blt/MIT-5.txt + MIT-6: blt/MIT-6.txt debian-archive-keyring: - licenses: [ - GPL-3, - ] + licenses: + - GPL-2.0-or-later emlinux-customization: - licenses: [ - MIT, - ] + licenses: + - MIT fontconfig: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant fontconfig-config: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant gcc-12-base: - licenses: [ - Artistic, - GFDL-1.2, - GPL, - GPL-2, - GPL-3, - LGPL - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND + - Artistic gcc-14-base: - licenses: [ - Artistic, - GPL-3.0-only, - GPL-3.0-or-later, - GPL-3.0-with-GCC-exception, - BSD-3-Clause, - MIT, - GFDL-1.2, - GPL-2.0-or-later, - LGPL-2.1-only, - LGPL-2.1-or-later, - LGPL-3.0, - public-domain, - Zlib, - BSL-1.0, - Unicode-DFS-2015 - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND + - Artistic gstreamer1.0-alsa: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN gstreamer1.0-gl: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN gstreamer1.0-gtk3: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - LGPL-2.0-or-later, - LGPL-2.0-only, - LGPL-2.1-or-later, - MIT - ] + licenses: + license: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - LGPL-2.1-or-later + - MIT + - BSD + text: + BSD: gstreamer1.0-plugins-good/BSD.txt gstreamer1.0-opencv: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-2.1-only, - LGPL-2.1-only, - MPL-1.1, - MIT, - Proprietary - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN gstreamer1.0-plugins-bad: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-2.1-only, - LGPL-2.1-only, - MPL-1.1, - MIT, - Proprietary - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN gstreamer1.0-plugins-bad-apps: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-2.1-only, - LGPL-2.1-only, - MPL-1.1, - MIT, - Proprietary - ] -gstreamer1.0-plugins-base: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN gstreamer1.0-plugins-base-apps: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN +gstreamer1.0-plugins-base: + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - LGPL-2.1-or-later + - MIT gstreamer1.0-plugins-good: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - LGPL-2.0-or-later, - LGPL-2.0-only, - LGPL-2.1-or-later, - MIT - ] + licenses: + license: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - LGPL-2.1-or-later + - MIT + - BSD + text: + BSD: gstreamer1.0-plugins-good/BSD.txt gstreamer1.0-pulseaudio: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - LGPL-2.0-or-later, - LGPL-2.0-only, - LGPL-2.1-or-later, - MIT - ] -gstreamer1.0-tools: - licenses: [ - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later - ] + licenses: + license: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - LGPL-2.1-or-later + - MIT + - BSD + text: + BSD: gstreamer1.0-plugins-good/BSD.txt gstreamer1.0-x: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN +gstreamer1.0-tools: + licenses: + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.0-or-later + - LGPL-2.1-or-later i2c-tools: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-only, - GPL-2.0-or-later - ] + licenses: + - GPL-2.0-or-later initramfs-tee-supplicant-hook: - licenses: [ - GPL-2.0-only, - MIT - ] + licenses: + - GPL-2.0-only initramfs-tools: - licenses: [ - GPL-2 - ] + licenses: + - GPL-2.0-or-later initramfs-tools-core: - licenses: [ - GPL-2 - ] -libisl23: - licenses: [ - BSD-2-clause, - LGPL-2.1-or-later, - MIT, - ] + licenses: + - GPL-2.0-or-later klibc-utils: - licenses: [ - GPL-2 - ] + licenses: + - GPL-2.0-only + - BSD-3-Clause libaec0: - licenses: [ - BSD-2-Clause - ] -libasound2: - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061276 - licenses: [ - LGPL-2.1+, - ] -libasound2-data: - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061276 - licenses: [ - LGPL-2.1+, - ] + licenses: + - BSD-2-Clause libatomic1: - licenses: [ - Artistic, - GPL-3.0-only, - GPL-3.0-or-later, - GPL-3.0-with-GCC-exception, - BSD-3-Clause, - MIT, - GFDL-1.2, - GPL-2.0-or-later, - LGPL-2.1-only, - LGPL-2.1-or-later, - LGPL-3.0, - public-domain, - Zlib, - BSL-1.0, - Unicode-DFS-2015 - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND libavahi-client3: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-only, - GPL-3.0-with-autoconf-exception, - GPL-2.0-only, - BSD-2-Clause, - BSD-3-Clause - ] + licenses: + - LGPL-2.0-or-later + - GPL-2.0-only + - GPL + - BSD-2-Clause + - BSD-3-Clause libavahi-common-data: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-only, - GPL-3.0-with-autoconf-exception, - GPL-2.0-only, - BSD-2-Clause, - BSD-3-Claus - ] + licenses: + - LGPL-2.0-or-later + - GPL-2.0-only + - GPL + - BSD-2-Clause + - BSD-3-Clause libavahi-common3: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-only, - GPL-3.0-with-autoconf-exception, - BSD-2-Clause, - BSD-3-Clause - ] + licenses: + - LGPL-2.0-or-later + - GPL-2.0-only + - GPL + - BSD-2-Clause + - BSD-3-Clause libc-bin: - licenses: [ - GPL-2, - LGPL-2.1 - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - BSD-3-Clause + - InnerNet-2.00 + - ISOC-RFC3492bis + - Henry-Spencer-Regex + - CE-Chew-Acknowledge + text: + InnerNet-2.00: libc6/InnerNet-2.00.txt + ISOC-RFC3492bis: libc6/ISOC-RFC3492bis.txt + Henry-Spencer-Regex: libc6/Henry-Spencer-Regex.txt + CE-Chew-Acknowledge: libc6/CE-Chew-Acknowledge.txt libc-l10n: - licenses: [ - GPL-2, - LGPL-2.1 - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - BSD-3-Clause + - InnerNet-2.00 + - ISOC-RFC3492bis + - Henry-Spencer-Regex + - CE-Chew-Acknowledge + text: + InnerNet-2.00: libc6/InnerNet-2.00.txt + ISOC-RFC3492bis: libc6/ISOC-RFC3492bis.txt + Henry-Spencer-Regex: libc6/Henry-Spencer-Regex.txt + CE-Chew-Acknowledge: libc6/CE-Chew-Acknowledge.txt libc6: - licenses: [ - GPL-2, - LGPL-2.1 - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - BSD-3-Clause + - InnerNet-2.00 + - ISOC-RFC3492bis + - Henry-Spencer-Regex + - CE-Chew-Acknowledge + text: + InnerNet-2.00: libc6/InnerNet-2.00.txt + ISOC-RFC3492bis: libc6/ISOC-RFC3492bis.txt + Henry-Spencer-Regex: libc6/Henry-Spencer-Regex.txt + CE-Chew-Acknowledge: libc6/CE-Chew-Acknowledge.txt libcairo-gobject2: - licenses: [ - MPL-1.1, - LGPL-2.1-only, - ] + licenses: + license: + - LGPL-2.1-or-later OR MPL-1.1 + - DavidReveman + text: + DavidReveman: libcairo2/DavidReveman.txt libcairo2: - licenses: [ - MPL-1.1, - LGPL-2.1-only, - ] + licenses: + license: + - LGPL-2.1-or-later OR MPL-1.1 + - DavidReveman + text: + DavidReveman: libcairo2/DavidReveman.txt libcfitsio10: - licenses: [ - NASA-1.3, - MIT, - LGPL-2.0-only, - GPL-2.0-only - ] + licenses: + - NASA-1.3 + - GPL-2.0-or-later + - LGPL-2.0-or-later libcrypt1: - licenses: [ - public-domain - ] + licenses: + - LGPL-2.1-or-later libdc1394-25: - licenses: [ - LGPL-2.0-or-later - ] + licenses: + - LGPL-2.1-or-later + - GPL-2.0-or-later libdrm-amdgpu1: - licenses: [ - MIT - ] + licenses: + - MIT libdrm-common: - licenses: [ - MIT, - ] + licenses: + - MIT libdrm-nouveau2: - licenses: [ - MIT - ] + licenses: + - MIT libdrm-radeon1: - licenses: [ - MIT - ] + licenses: + - MIT libdrm2: - licenses: [ - MIT, - ] -libdw1: - licenses: [ - BSD-2-Clause, - GFDL-NIV-1.3, - GPL-3.0-or-later, - GPL-3.0-or-later WITH Bison-exception-2.2, - GPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-3.0-or-later - ] -libegl1: - licenses: [ - MIT, - BSD-1-Clause, - BSD-3-Clause, - GPL-3.0-with-autoconf-exception - ] -libelf1: - licenses: [ - BSD-2-Clause, - GFDL-NIV-1.3, - GPL-3.0-or-later, - GPL-3.0-or-later WITH Bison-exception-2.2, - GPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-3.0-or-later - ] + licenses: + - MIT libflite1: - licenses: [ - BSD-3-Clause, - GPL-2.0-only - ] + licenses: + license: + - public-domain + - BSD-4-Clause-Shortended + - GPL-2.0-only + - GPL-3.0-only + - BSD-2-Clause + - HPND-sell-variant + - Henry-Spencer-Regexp + - doc-cmu + text: + public-domain: libflite1/public-domain.txt + Henry-Spencer-Regexp: libflite1/Henry-Spencer-Regexp.txt + doc-cmu: libflite1/doc-cmu.txt libfontconfig1: - licenses: [ - MIT, - ] -libgbm1: - licenses: [ - Apache-2.0, - BSD-2-clause, - BSD-3-google, - BSL, - GPL-3.0-or-later, - Khronos, - MIT, - SGI-B-2.0 - ] + licenses: + - HPND-sell-variant +libfontenc1: + licenses: + - MIT libgcc-s1: - licenses: [ - Artistic, - GFDL-1.2, - GPL, - GPL-2, - GPL-3, - LGPL - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND libgcrypt20: - licenses: [ - GPL-2, - LGPL - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - BSD-3-Clause + - X11 + - public-domain + - OCB + text: + public-domain: libgcrypt20/public-domain.txt + OCB: libgcrypt20/OCB.txt libgfortran5: - licenses: [ - Artistic, - GFDL-1.2, - GPL, - GPL-2, - GPL-3, - LGPL - ] -libgles2: - licenses: [ - MIT, - BSD-1-Clause, - BSD-3-Clause, - GPL-3.0-with-autoconf-exception - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND +libgupnp-igd-1.0-4: + licenses: + - LGPL-2.0-or-later libgnutls30: - licenses: [ - Apache-2.0, - GFDL-1.3, - GPL, - GPL-3, - LGPL, - LGPL-3 - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-3.0-or-later + - LGPL-3.0-or-later OR GPL-2.0-or-later + - BSD-3-Clause + - Apache-2.0 + - CC0-1.0 + - HPND + - MIT + - public-domain + - CRYPTOGAMS + text: + public-domain: libgnutls30/public-domain.txt + CRYPTOGAMS: libgnutls30/CRYPTOGAMS.txt libgnutls30t64: - licenses: [ - Apache-2.0, - GFDL-1.3, - GPL, - GPL-3, - LGPL, - LGPL-3 - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-3.0-or-later + - LGPL-3.0-or-later OR GPL-2.0-or-later + - BSD-3-Clause + - Apache-2.0 + - CC0-1.0 + - HPND + - MIT + - public-domain + - CRYPTOGAMS + text: + public-domain: libgnutls30/public-domain.txt + CRYPTOGAMS: libgnutls30/CRYPTOGAMS.txt + libgomp1: - licenses: [ - GPL-3+, - gcc-exception-3.1, - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND libgssapi-krb5-2: - licenses: [ - GPL-2 - ] + licenses: + license: + - BSD-3-Clause + - MIT + - HPND + - CC-BY-SA-3.0 + - OLDAP-2.8 + - OpenVision + - PKINIT + - RSA-MD4 + - RSA-MD5 + text: + OpenVision: libgssapi-krb5-2/OpenVision.txt + PKINIT: libgssapi-krb5-2/PKINIT.txt + RSA-MD4: libgssapi-krb5-2/RSA-MD4.txt + RSA-MD5: libgssapi-krb5-2/RSA-MD5.txt +libgstreamer1.0-0: + licenses: + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.0-or-later + - LGPL-2.1-or-later libgstreamer-gl1.0-0: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN libgstreamer-opencv1.0-0: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-2.1-only, - LGPL-2.1-only, - MPL-1.1, - MIT, - Proprietary - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN libgstreamer-plugins-bad1.0-0: - licenses: [ - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later, - LGPL-2.1-only, - LGPL-2.1-only, - MPL-1.1, - MIT, - Proprietary - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN libgstreamer-plugins-base1.0-0: - licenses: [ - LGPL-2.0-or-later, - BSD-2-Clause, - BSD-3-Clause, - GPL-2.0-or-later, - MIT - ] -libgstreamer1.0-0: - licenses: [ - GPL-2.0-or-later, - GPL-3.0-or-later, - LGPL-2.0-or-later, - LGPL-2.1-or-later - ] -libgupnp-igd-1.0-4: - licenses: [ - LGPL-2.0-or-later, - GPL-3.0-only - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause + - GPL-2.0-or-later + - GPL-3.0-or-later + - LGPL-2.1-only + - LGPL-2.1-or-later + - LGPL-3.0-or-later + - MPL-1.1 + - MIT + - UNKNOWN +libgtk2.0-0: + licenses: + license: + - LGPL-2.0-or-later + - LGPL-2.1-or-later + - LGPL-2.1-only + - GPL-2.0-or-later + - FSFAP + - Sun-Government-Clause OR LGPL-2.0-or-later + - Wintab-Free-Use + text: + Wintab-Free-Use: libgtk2.0-0/Wintab-Free-Use.txt + Sun-Government-Clause: libgtk2.0-0/Sun-Government-Clause.txt +libgtk2.0-common: + licenses: + license: + - LGPL-2.0-or-later + - LGPL-2.1-or-later + - LGPL-2.1-only + - GPL-2.0-or-later + - FSFAP + - Sun-Government-Clause OR LGPL-2.0-or-later + - Wintab-Free-Use + text: + Wintab-Free-Use: libgtk2.0-0/Wintab-Free-Use.txt + Sun-Government-Clause: libgtk2.0-0/Sun-Government-Clause.txt libhwloc15: - licenses: [ - BSD-3-Clause - ] + licenses: + - BSD-3-Clause + - GPL-3.0-only libi2c0: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-only, - GPL-2.0-or-later - ] + licenses: + - LGPL-2.1-or-later libice6: - licenses: [ - MIT-open-group - ] + licenses: + - MIT-open-group libiec61883-0: - licenses: [ - LGPL-2.1-or-later - ] + licenses: + - LGPL-2.1-or-later libjudydebian1: - licenses: [ - LGPL-2+, - ] + licenses: + - LGPL-2.1-or-later +libksba8: + licenses: + license: + - LGPL-3.0-or-later + - GPL-2.0-or-later + - GPL-3.0-or-later + - ISOC-Standard-Notice + text: + ISOC-Standard-Notice: libksba8/ISOC-Standard-Notice.txt libk5crypto3: - licenses: [ - GPL-2 - ] + licenses: + license: + - BSD-3-Clause + - MIT + - HPND + - CC-BY-SA-3.0 + - OLDAP-2.8 + - OpenVision + - PKINIT + - RSA-MD4 + - RSA-MD5 + text: + OpenVision: libgssapi-krb5-2/OpenVision.txt + PKINIT: libgssapi-krb5-2/PKINIT.txt + RSA-MD4: libgssapi-krb5-2/RSA-MD4.txt + RSA-MD5: libgssapi-krb5-2/RSA-MD5.txt libklibc: - licenses: [ - GPL-2 - ] + licenses: + - GPL-2.0-only + - BSD-3-Clause libkrb5-3: - licenses: [ - GPL-2 - ] + licenses: + license: + - BSD-3-Clause + - MIT + - HPND + - CC-BY-SA-3.0 + - OLDAP-2.8 + - OpenVision + - PKINIT + - RSA-MD4 + - RSA-MD5 + text: + OpenVision: libgssapi-krb5-2/OpenVision.txt + PKINIT: libgssapi-krb5-2/PKINIT.txt + RSA-MD4: libgssapi-krb5-2/RSA-MD4.txt + RSA-MD5: libgssapi-krb5-2/RSA-MD5.txt libkrb5support0: - licenses: [ - GPL-2 - ] -libksba8: - licenses: [ - GPL-3 - ] + licenses: + license: + - BSD-3-Clause + - MIT + - HPND + - CC-BY-SA-3.0 + - OLDAP-2.8 + - OpenVision + - PKINIT + - RSA-MD4 + - RSA-MD5 + text: + OpenVision: libgssapi-krb5-2/OpenVision.txt + PKINIT: libgssapi-krb5-2/PKINIT.txt + RSA-MD4: libgssapi-krb5-2/RSA-MD4.txt + RSA-MD5: libgssapi-krb5-2/RSA-MD5.txt liblept5: - licenses: [ - BSD-2-Clause - ] -libllvm15: - licenses: [ - Apache-2.0-with-LLVM-exception, - MIT, - BSD-3-clause, - Python-2.0 - ] + licenses: + - BSD-2-Clause +liblrdf0: + licenses: + license: + - GPL-2.0-only + - public-domain + - LGPL-2.1-or-later + - FSFUL + - GPL-2.0-or-later + - X11 + text: + public-domain: liblrdf0/public-domain.txt +libtcl8.6: + licenses: + license: + - TCL-Regents-Government-Clause + - BSD-3-Clause + - HPND + text: + TCL-Regents-Government-Clause: libtcl8.6/TCL-Regents-Government-Clause.txt +libtk8.6: + licenses: + license: + - TK-Regents-Government-Clause + text: + TK-Regents-Government-Clause: libtk8.6/TK-Regents-Government-Clause.txt libmjpegutils-2.1-0: - licenses: [ - GPL-2.0-or-later, - GPL-2.0-only, - GPL-1.0-or-later - ] + licenses: + license: + - GPL-2.0-or-later + - MSSG-public-domain + text: + MSSG-public-domain: libmjpegutils-2.1-0/MSSG-public-domain.txt libmodplug1: - licenses: [ - PD - ] + licenses: + - public-domain libmpcdec6: - licenses: [ - LGPL-2.1-or-later, - BSD-3-Clause, - GPL-2.0-or-later, - ] -libmpeg2encpp-2.1-0: - licenses: [ - GPL-2.0-or-later, - GPL-2.0-only, - GPL-1.0-or-later - ] + licenses: + - LGPL-2.1-or-later + - Zlib + - BSD-3-Clause + - GPL-2.0-or-later libmpfr6: - licenses: [ - LGPL-3+, - GFDL-1.2 - ] + licenses: + - LGPL-3.0-or-later + - GFDL-1.2+ +libmpeg2encpp-2.1-0: + licenses: + license: + - GPL-2.0-or-later + - MSSG-public-domain + text: + MSSG-public-domain: libmjpegutils-2.1-0/MSSG-public-domain.txt libmplex2-2.1-0: - licenses: [ - GPL-2.0-or-later, - GPL-2.0-only, - GPL-1.0-or-later - ] + licenses: + license: + - GPL-2.0-or-later + - MSSG-public-domain + text: + MSSG-public-domain: libmjpegutils-2.1-0/MSSG-public-domain.txt libnice10: - licenses: [ - LGPL-2.1-or-later, - MPL-1.1, - GPL-2.0-only, - GPL-3.0-or-later, - ] + licenses: + - MPL-1.1 + - LGPL-2.1-or-later + - GPL-2.0-only or BSD-3-Clause + - BSD-3-Clause +libnl-3-200: + licenses: + - LGPL-2.1-only + - GPL-2.0-only + - BSD-3-Clause +libnl-genl-3-200: + licenses: + - LGPL-2.1-only + - GPL-2.0-only + - BSD-3-Clause +libnl-route-3-200: + licenses: + - LGPL-2.1-only + - GPL-2.0-only + - BSD-3-Clause libnuma1: - licenses: [ - LGPL-2.1-or-later, - ] + licenses: + - LGPL-2.1-or-later liborc-0.4-0: - licenses: [ - BSD-2-Clause, - BSD-3-Clause - ] -libpangocairo-1.0-0: - licenses: [ - MPL-1.1, - LGPL-2.1-only - ] + licenses: + - BSD-2-Clause + - BSD-3-Clause +liborc-0.4-0t64: + licenses: + - BSD-2-Clause + - BSD-3-Clause libpixman-1-0: - licenses: [ - MIT - ] + licenses: + - MIT libproxy1v5: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-or-later - ] + licenses: + - LGPL-2.1-or-later + - GPL-2.0-only +libpython3-stdlib: + licenses: + PSF-2.0 libpython3.11: - licenses: [ - PSF-2.0, - ] + licenses: + PSF-2.0 libpython3.11-minimal: - licenses: [ - PSF-2.0, - ] + licenses: + PSF-2.0 libpython3.11-stdlib: - licenses: [ - PSF-2.0, - ] + licenses: + - PSF-2.0 libpython3.13: - licenses: [ - PSF-2.0 - ] + licenses: + - PSF-2.0 libpython3.13-minimal: - licenses: [ - PSF-2.0 - ] + licenses: + - PSF-2.0 libpython3.13-stdlib: - licenses: [ - PSF-2.0 - ] + licenses: + - PSF-2.0 libraw1394-11: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-or-later, - MIT - ] + licenses: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - MIT librtmp1: - licenses: [ - LGPL-2.1+, - ] + licenses: + - LGPL-2.1-or-later libselinux1: - licenses: [ - GPL-2, - LGPL-2.1 - ] + licenses: + - GPL-2.0-or-later + - LGPL-2.1-or-later + - libselinux-1.0 libsemanage-common: - licenses: [ - GPL, - LGPL - ] + licenses: + - GPL-2.0-or-later + - LGPL-2.1-or-later libsemanage2: - licenses: [ - GPL, - LGPL - ] + licenses: + - GPL-2.0-or-later + - LGPL-2.1-or-later libsensors-config: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-or-later - ] + licenses: + - LGPL-2.1-or-later libsensors5: - licenses: [ - LGPL-2.1-or-later, - GPL-2.0-or-later - ] + licenses: + - LGPL-2.1-or-later libsm6: - licenses: [ - MIT-open-group - ] + licenses: + - MIT-open-group libspandsp2: - licenses: [ - GPL-2.0-only, - LGPL-2.0-only - ] + licenses: + - LGPL-2.1-or-later + - GPL-2.0-only libstdc++6: - licenses: [ - Artistic, - GFDL-1.2, - GPL, - GPL-2, - GPL-3, - LGPL - ] + licenses: + - GPL-3.0-or-later WITH GCC-exception-3.1 + - GPL-3.0-or-later + - GPL-2.0-or-later + - LGPL-2.1-or-later + - BSD-3-Clause + - MIT + - Zlib + - Unicode-DFS-2015 + - HPND libsz2: - licenses: [ - BSD-2-Clause - ] + licenses: + - BSD-2-Clause libtasn1-6: - licenses: [ - LGPL-2.1, - GPL-3, - GFDL-1.3 - ] -libteec1: - licenses: [ - BSD-2-Clause - ] + licenses: + - LGPL-2.1-or-later + - GPL-3.0-or-later + - GFDL-1.3 libusb-1.0-0: - licenses: [ - GPL-2.0-only, - LGPL-2.0-only - ] + licenses: + - LGPL-2.1-or-later + - GPL-2.0-or-later libwayland-client0: - licenses: [ - X11, - ] + licenses: + - X11 libwayland-cursor0: - licenses: [ - GPL-2.0-only, - LGPL-2.1-or-later - ] + licenses: + - X11 libwayland-egl1: - licenses: [ - GPL-2.0-only, - LGPL-2.1-or-later - ] + licenses: + - X11 libwayland-server0: - licenses: [ - X11, - ] + licenses: + - X11 libwebp7: - licenses: [ - BSD-3-Clause, - Apache-2.0 - ] + licenses: + - BSD-3-Clause + - Apache-2.0 libwebpmux3: - licenses: [ - BSD-3-Clause, - Apache-2.0 - ] + licenses: + - BSD-3-Clause + - Apache-2.0 libx11-6: - licenses: [ - MIT, - BSD-1-Clause, - HPND, - HPND-sell-variant, - ISC, - ] + licenses: + license: + - MIT + - MIT-open-group + - HPND-sell-variant + - BSD-2-Clause + - Tektronix + text: + Tektronix: libx11-6/Tektronix.txt libx11-data: - licenses: [ - MIT, - BSD-1-Clause, - HPND, - HPND-sell-variant, - ISC, - ] + licenses: + license: + - MIT + - MIT-open-group + - HPND-sell-variant + - BSD-2-Clause + - Tektronix + text: + Tektronix: libx11-6/Tektronix.txt libx11-xcb1: - licenses: [ - MIT, - BSD-1-Clause, - HPND, - HPND-sell-variant, - ISC, - ] + licenses: + license: + - MIT + - MIT-open-group + - HPND-sell-variant + - BSD-2-Clause + - Tektronix + text: + Tektronix: libx11-6/Tektronix.txt libxau6: - licenses: [ - MIT, - ] + licenses: + - MIT-open-group +libxaw7: + licenses: + - MIT-open-group + - HPND-sell-variant +libxcb1: + licenses: + - MIT libxcb-composite0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-dri2-0: - licenses: [ - MIT, - ] + licenses: + - MIT libxcb-dri3-0: - licenses: [ - MIT, - ] + licenses: + - MIT libxcb-glx0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-present0: - licenses: [ - MIT, - ] + licenses: + - MIT libxcb-randr0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-render0: - licenses: [ - MIT, - ] + licenses: + - MIT +libxcb-xinerama0: + licenses: + - MIT libxcb-shape0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-shm0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-sync1: - licenses: [ - MIT, - ] + licenses: + - MIT libxcb-xfixes0: - licenses: [ - MIT, - ] -libxcb-xinerama0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-xinput0: - licenses: [ - MIT - ] + licenses: + - MIT libxcb-xkb1: - licenses: [ - MIT - ] -libxcb1: - licenses: [ - MIT, - ] + licenses: + - MIT libxcomposite1: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant + - MIT libxcursor1: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant libxdamage1: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant libxdmcp6: - licenses: [ - MIT, - ] + licenses: + - MIT-open-group libxext6: - licenses: [ - MIT-open-group, - MIT, - HPND, - ] + licenses: + - MIT-open-group + - HPND-sell-variant + - MIT libxfixes3: - licenses: [ - MIT, - HPND - ] + licenses: + - HPND-sell-variant + - MIT +libxfont2: + licenses: + - MIT + - MIT-open-group + - HPND-sell-variant + - BSD-2-Clause +libxft2: + licenses: + - HPND-sell-variant libxi6: - licenses: [ - MIT-open-group, - HPND, - MIT - ] + licenses: + - MIT-open-group + - HPND-sell-variant + - MIT libxinerama1: - licenses: [ - MIT-open-group, - MIT - ] -libxkbcommon-x11-0: - licenses: [ - MIT, - MIT-open-group, - HPND, - HPND-sell-variant, - X11 - ] + licenses: + license: + - MIT + - MIT-open-group + - X11-no-permit-persons + text: + X11-no-permit-persons: libxinerama1/X11-no-permit-persons.txt libxkbcommon0: - licenses: [ - MIT, - MIT-open-group, - HPND, - HPND-sell-variant, - X11 - ] + licenses: + - MIT + - HPND-sell-variant +libxkbcommon-x11-0: + licenses: + - MIT + - HPND-sell-variant libxkbfile1: - licenses: [ - HPND, - MIT-open-group - ] -libxrandr2: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant + - MIT +libxmu6: + licenses: + - MIT-open-group + - HPND-sell-variant +libxpm4: + licenses: + - MIT libxrender1: - licenses: [ - MIT - ] + licenses: + - HPND-sell-variant +libxrandr2: + licenses: + - HPND-sell-variant libxshmfence1: - licenses: [ - HPND, - ] + licenses: + - HPND-sell-variant libxslt1.1: - licenses: [ - MIT - ] + licenses: + - MIT libxss1: - licenses: [ - MIT - ] + licenses: + - MIT +libxt6: + licenses: + - MIT + - HPND-sell-variant libxtst6: - licenses: [ - MIT, - X11, - HPND - ] + licenses: + - MIT libxv1: - licenses: [ - MIT - ] + licenses: + - MIT libxxf86vm1: - licenses: [ - X11 - ] + licenses: + - MIT libzbar0: - licenses: [ - LGPL-2.0-or-later - ] + licenses: + license: + - LGPL-2.1-or-later + - zbar-public-domain + - zbar-bsd-style + text: + zbar-public-domain: libzbar0/zbar-public-domain.txt + zbar-bsd-style: libzbar0/zbar-bsd-style.txt linux-image-cip: - licenses: [ - GPL-2, - ] + licenses: + GPL-2.0-only linux-image-cip-rt: - licenses: [ - GPL-2, - ] + licenses: + GPL-2.0-only locales: - licenses: [ - LGPL-2.1, - GPL-2, - ] + licenses: + license: + - LGPL-2.1-or-later + - GPL-2.0-or-later + - BSD-3-Clause + - InnerNet-2.00 + - ISOC-RFC3492bis + - Henry-Spencer-Regex + - CE-Chew-Acknowledge + text: + InnerNet-2.00: libc6/InnerNet-2.00.txt + ISOC-RFC3492bis: libc6/ISOC-RFC3492bis.txt + Henry-Spencer-Regex: libc6/Henry-Spencer-Regex.txt + CE-Chew-Acknowledge: libc6/CE-Chew-Acknowledge.txt lrzsz: - licenses: [ - GPL-2 - ] + licenses: + - GPL-2.0-only +python3: + licenses: + - PSF-2.0 +python3-minimal: + licenses: + - PSF-2.0 +python3.11: + licenses: + - PSF-2.0 +python3.11-minimal: + licenses: + - PSF-2.0 +python3-numpy: + licenses: + - BSD-3-Clause + - BSD-2-Clause + - PSF-2.0 + - Apache-2.0 + - MIT +python3-pkg-resources: + licenses: + - MIT + - BSD-3-Clause + - Apache-2.0 +python3-tk: + licenses: + - PSF-2.0 ruby-narray: - licenses: [ - GPL-2.0-or-later, - Ruby OR GPL-2.0-only, - ] + licenses: + - GPL-2.0-or-later + - Ruby OR GPL-2.0-only shared-mime-info: - licenses: [ - GPL-2.0-or-later - ] + licenses: + - GPL-2.0-or-later sshd-regen-keys: - licenses: [ - MIT, - GPL-2.0-only - ] -tee-supplicant: - licenses: [ - BSD-2-Clause - ] + licenses: + - MIT + - GPL-2.0-only +tk8.6-blt2.5: + licenses: + license: + - MIT-1 + - MIT-2 + - MIT-3 + - MIT-4 + - MIT-5 + - MIT-6 + - TCL + text: + MIT-1: blt/MIT-1.txt + MIT-2: blt/MIT-2.txt + MIT-3: blt/MIT-3.txt + MIT-4: blt/MIT-4.txt + MIT-5: blt/MIT-5.txt + MIT-6: blt/MIT-6.txt weston-init: - licenses: [ - MIT, - ] + licenses: + - MIT x11-common: - licenses: [ - MIT, - GPL-2.0-or-later - ] + licenses: + - GPL-2.0-or-later + - X11 xkb-data: - licenses: [ - MIT, - X11, - HPND, - MIT-open-group, - xkeyboard-config-Zinovie - ] + licenses: + license: + - HPND-sell-variant + - X11 + - Mitos + text: + Mitos: xkb-data/Mitos.txt +x11-xkb-utils: + licenses: + - HPND-sell-variant + - MIT-open-group + - DEC-3-Clause + - MIT +xserver-common: + licenses: + - MIT + - HPND-sell-variant + - SGI-B-2.0 + - BSD-3-Clause +xwayland: + licenses: + license: + - MIT + - Adobe-Display-PostScript + - BSD-3-Clause + - DEC-3-Clause + - HPND + - HPND-Netrek + - HPND-sell-MIT-disclaimer-xserver + - HPND-sell-variant + - HPND-UC + - ICU + - ISC + - MIT-open-group + - NTP + - SGI-B-2.0 + - SMLNJ + - X11 + - X11-no-permit-persons + text: + X11-no-permit-persons: xwayland/X11-no-permit-persons.txt diff --git a/scripts/create_sbom.py b/scripts/create_sbom.py index 972a5087..0c7cda21 100755 --- a/scripts/create_sbom.py +++ b/scripts/create_sbom.py @@ -6,25 +6,30 @@ import io from debian import copyright import debian.debfile +from debian.deb822 import Packages import json import yaml import glob import hashlib +from pathlib import Path -sys.path.append(os.path.join(os.path.dirname(__file__), 'lib/python')) -sys.path.append(os.path.join(os.path.dirname(__file__), 'lib/python/sbom')) +sys.path.append(os.path.join(os.path.dirname(__file__), "lib/python")) +sys.path.append(os.path.join(os.path.dirname(__file__), "lib/python/sbom")) import logging -logging.basicConfig(level = logging.INFO, format='%(asctime)s:%(levelname)s: %(message)s') + +logging.basicConfig(level=logging.INFO, format="%(asctime)s:%(levelname)s: %(message)s") logger = logging.getLogger("emlinux-sbom-creator") import bitbake_runner import sbom_cyclonedx import sbom_spdx +import licensing # Only show critical error from debian copyright library copyright.logger.setLevel(logging.CRITICAL) + def merge_package_data(installed_pkgs, packages_info): for pkg in installed_pkgs: if pkg in packages_info: @@ -33,8 +38,9 @@ def merge_package_data(installed_pkgs, packages_info): return installed_pkgs + def find_deb_packages(dl_dir, repo_isar_dir, distro, image_distro): - targets = [ + targets = [ f"{dl_dir}/deb/debian-{distro}/*.deb", f"{repo_isar_dir}/{image_distro}/pool/**/*.deb", ] @@ -46,7 +52,10 @@ def find_deb_packages(dl_dir, repo_isar_dir, distro, image_distro): return ret -def get_package_info_from_control(dl_dir, repo_isar_dir, distro, image_distro, distro_arch): + +def get_package_info_from_control( + dl_dir, repo_isar_dir, distro, image_distro, distro_arch +): ret = {} debs = find_deb_packages(dl_dir, repo_isar_dir, distro, image_distro) @@ -55,8 +64,8 @@ def get_package_info_from_control(dl_dir, repo_isar_dir, distro, image_distro, d with debian.debfile.DebFile(debfile) as deb: control = deb.debcontrol() pkgname = control.get("Package", "Unknown") - arch = control.get('Architecture', 'Unknown') - desc = control.get("Description", "") + arch = control.get("Architecture", "Unknown") + desc = control.get("Description", "No description") if arch == distro_arch or arch == "all": sha256sum = None @@ -66,113 +75,284 @@ def get_package_info_from_control(dl_dir, repo_isar_dir, distro, image_distro, d sha256hash.update(block) sha256sum = sha256hash.hexdigest() ret[pkgname] = { - "sha256sum": sha256sum, - "description": desc, + "sha256sum": sha256sum, + "description": desc, } return ret + def parse_copyright_file(copyright_file): - licenses = [] + licenses = {} - with io.open(copyright_file, "rt", encoding='utf-8') as f: + with io.open(copyright_file, "rt", encoding="utf-8") as f: try: c = copyright.Copyright(f, strict=False) - except Exception as e: - logger.debug(f"Read copyright file error for {copyright_file}") - licenses.append("unknown") + except Exception: + logger.debug( + f"Read copyright file error for {copyright_file}. May be this file uses old foromat." + ) else: for p in c.all_files_paragraphs(): - files = " ".join(p.files) - if p.license: - licenses.append(p.license.synopsis) - else: - if not "unknown" in licenses: - licenses.append("unknown") + if p.license and p.license.synopsis: + licenses.setdefault("synopsis", []).append(p.license.synopsis) + if len(p.license.text) > 0: + licenses.setdefault("text", {})[ + p.license.synopsis + ] = p.license.text + for text in c.all_license_paragraphs(): + if text.license: + licenses.setdefault("text", {})[ + text.license.synopsis + ] = text.license.text + + return licenses - return sorted(licenses) def parse_dpkg_status(dpkgstatus): ret = {} with open(dpkgstatus, "r") as f: - lines = f.readlines() - d = {} - for line in lines: - line = line.strip() - if line.startswith("Package:"): - d["package"] = line.split(":")[1].strip() - elif line.startswith("Source:"): - # some package contain version number so remove it. - # util-linux (2.38.1-5) - d["source"] = line.split(":")[1].strip().split(" ")[0].strip() - elif line.startswith("Version:"): - d["version"] = line.split(" ")[1].strip() - elif line.startswith("Maintainer:"): - d["maintainer"] = " ".join(line.split(" ")[1:]).strip() - elif line.startswith("Section:"): - d["section"] = line.split(":")[1].strip() - elif line.startswith("Homepage:"): - d["homepage"] = "".join(line.split(":")[1:]).strip() - elif line.startswith("Architecture:"): - d["arch"] = line.split(":")[1].strip() - elif len(line) == 0: - if not "source" in d: - # If source is not found in data, source package name should - # be same as binary package name - d["source"] = d["package"] - - ret[d["package"]] = d - d = {} + for pkg in Packages.iter_paragraphs(f, use_apt_pkg=False): + d = {} + + d["package"] = pkg.get("Package") + d["source"] = pkg.get("Source") + d["version"] = pkg.get("Version") + d["maintainer"] = pkg.get("Maintainer") + d["section"] = pkg.get("Section") + d["homepage"] = pkg.get("Homepage", "No Homepage") + d["arch"] = pkg.get("Architecture") + if d["source"] is None: + d["source"] = d["package"] + d["description"] = pkg.get("Description", "No description") + + ret[d["package"]] = d return ret -def find_copyright_files(rootfs, installed_pkgs, user_defined_licenses): - + +def read_copyright_files(rootfs, installed_pkgs, user_defined_licenses): for pkg in installed_pkgs: - if pkg in user_defined_licenses: - installed_pkgs[pkg]["licenses"] = user_defined_licenses[pkg]["licenses"] - else: - path = f"{rootfs}/usr/share/doc/{installed_pkgs[pkg]['package']}/copyright" + logger.debug(f"Checking copyright for {pkg}") + path = f"{rootfs}/usr/share/doc/{installed_pkgs[pkg]['package']}/copyright" + + if os.path.exists(path): + licenses = parse_copyright_file(path) + if bool(licenses): + installed_pkgs[pkg]["licenses"] = licenses + # else: + # logger.warning(f"Packge {pkg} does not contain copyright file") + + # When failed to parse copyright file or package name is in user defined license file, + # set license from license defined file + if not "licenses" in installed_pkgs[pkg] or pkg in user_defined_licenses: + logger.debug(f"Check user defined mapping file for {pkg}") + if pkg in user_defined_licenses: + logger.debug(f"found {pkg} in user defined license file") + synopsis = user_defined_licenses[pkg]["synopsis"] + + installed_pkgs[pkg]["licenses"] = { + "synopsis": synopsis, + "text": {}, + } - if os.path.exists(path): - installed_pkgs[pkg]["licenses"] = parse_copyright_file(path) - else: - installed_pkgs[pkg]["licenses"] = ["unknown"] + for lic_name in user_defined_licenses[pkg]["license_data"]: + lic_data = user_defined_licenses[pkg]["license_data"][lic_name] + installed_pkgs[pkg]["licenses"]["text"][lic_name] = lic_data["text"] + + if not "licenses" in installed_pkgs[pkg]: + logger.warning( + f"{pkg}: Cannot get licenses from Copyright file and user defined license mapping file. So, set NOASSERTION as license." + ) + installed_pkgs[pkg]["licenses"] = {"synopsis": ["NOASSERTION"], "text": {}} -def read_user_defined_license_file(user_defined_licenses): - name = os.path.join(os.path.dirname(__file__), "../conf/licenses/licenses.yml") +def make_user_defined_license_data(yml_file_name): + license_data = {} data = None - with open(name, "r") as f: + with open(yml_file_name, "r") as f: data = yaml.safe_load(f) - if user_defined_licenses: - with open(user_defined_licenses, "r") as f: - tmp = yaml.safe_load(f) - if tmp: - data.update(tmp) + if data is None: + return license_data + + for pkg in data: + license_data[pkg] = {"license_data": {}, "synopsis": {}} + + pkg_data = data[pkg] + typename = type(pkg_data["licenses"]) + # logger.debug(f"{pkg} data type {typename}") + if typename == dict: + for synopsis in pkg_data["licenses"]["license"]: + lic_text_path = None + lic_text = None + + licenses = licensing.split_synopsis_tokens_only(synopsis) + for lic_name in licenses: + if lic_name in pkg_data["licenses"]["text"]: + lic_text_path = pkg_data["licenses"]["text"].get(lic_name) + + if lic_text_path is not None: + lic_text_path = Path(lic_text_path) + if not lic_text_path.is_absolute(): + lic_text_path = yml_file_name.parent.joinpath( + "license_texts", lic_text_path + ) + + if not lic_text_path.exists(): + logger.error( + f"License file {lic_text_path} for {pkg} doesn't exist" + ) + exit(1) + logger.debug( + f"{pkg} read license {lic_name} text from {lic_text_path}" + ) + with open(lic_text_path) as f: + lic_text = f.read() + + license_data[pkg]["license_data"][lic_name] = { + "synopsis": synopsis, + "licenses": licenses, + "text": lic_text, + } + + elif typename == list: + for lic_name in pkg_data["licenses"]: + license_data[pkg]["license_data"][lic_name] = { + "synopsis": lic_name, + "licenses": licensing.split_synopsis_tokens_only(lic_name), + "text": None, + } + elif typename == str: + lic_name = pkg_data["licenses"] + license_data[pkg]["license_data"][lic_name] = { + "synopsis": lic_name, + "licenses": licensing.split_synopsis_tokens_only(lic_name), + "text": None, + } - return data + synopsis = [] + for lic_name in license_data[pkg]["license_data"]: + s = license_data[pkg]["license_data"][lic_name]["synopsis"] + if not s in synopsis: + synopsis.append(s) + + license_data[pkg]["synopsis"] = synopsis + + return license_data + + +def find_pre_defined_file_common(layers, target_path): + ret = [] + + meta_emlinux_file = None + for layer in layers: + layer_name = os.path.basename(layer) + filepath = Path(f"{layer}/{target_path}") + if os.path.exists(filepath): + if layer_name == "meta-emlinux": + meta_emlinux_file = filepath.absolute() + else: + ret.append(filepath.absolute()) + + # meta-emlinux layer is always first + if meta_emlinux_file: + ret.insert(0, meta_emlinux_file) + return ret + + +def find_pre_defined_license_mapping_files(layers): + return find_pre_defined_file_common(layers, "conf/licenses/license-mapping.yml") -def read_license_mapping_file(user_defined_license_mapping): - name = os.path.join(os.path.dirname(__file__), "../conf/licenses/license-mapping.yml") - data = None - with open(name, "r") as f: - data = yaml.safe_load(f) + +def find_pre_defined_licenses_files(layers): + return find_pre_defined_file_common(layers, "conf/licenses/licenses.yml") + + +def read_pre_defined_license_files(files): + license_data = {} + for filepath in files: + license_data.update(make_user_defined_license_data(filepath)) + + return license_data + + +def read_user_defined_license_file(user_defined_license_files): + license_data = {} + if user_defined_license_files: + tmp = make_user_defined_license_data(user_defined_license_files) + license_data.update(tmp) + + return license_data + + +def read_pre_defined_license_mapping_file(files): + license_data = {} + for filepath in files: + with open(filepath) as f: + license_data.update(yaml.safe_load(f)) + + return license_data + + +def read_user_defined_license_mapping_file(user_defined_license_mapping): + license_data = {} if user_defined_license_mapping: with open(user_defined_license_mapping, "r") as f: tmp = yaml.safe_load(f) if tmp: - data.update(tmp) - return data + license_data.update(tmp) + return license_data -def write_sbom_json(output_filepath, sbom_data): +def read_license_files(layers, user_defined_license_file): + license_data = {} + files = find_pre_defined_licenses_files(layers) + license_data.update(read_pre_defined_license_files(files)) + license_data.update(read_user_defined_license_file(user_defined_license_file)) + + return license_data + + +def read_license_mapping_files(layers, user_defined_license_mapping_file): + license_data = {} + files = find_pre_defined_license_mapping_files(layers) + license_data.update(read_pre_defined_license_mapping_file(files)) + license_data.update( + read_user_defined_license_mapping_file(user_defined_license_mapping_file) + ) + return license_data + + +def write_sbom_json(output_filepath, sbom_data): with open(output_filepath, "w") as f: json.dump(sbom_data, f, indent=4, sort_keys=True) + +def create_license_data(installed_pkgs, license_mapping): + for pkg in installed_pkgs: + logger.debug(f"Create data for {pkg}") + licenses = installed_pkgs[pkg]["licenses"] + installed_pkgs[pkg]["normalized_licenses"] = [] + + for synopsis in installed_pkgs[pkg]["licenses"]["synopsis"]: + license_data = licensing.debian_synopsis_to_spdx_license_id( + pkg, synopsis, licenses.get("text"), license_mapping + ) + # do not append duplicated data. + if not license_data in installed_pkgs[pkg]["normalized_licenses"]: + installed_pkgs[pkg]["normalized_licenses"].append(license_data) + + # licenses is no longer needed. + del installed_pkgs[pkg]["licenses"] + license_id_text = licensing.create_single_line_license_id_text( + installed_pkgs[pkg]["normalized_licenses"] + ) + installed_pkgs[pkg]["license_id_text"] = license_id_text + + def main(args): if args.verbose_output: logger.setLevel(logging.DEBUG) @@ -186,16 +366,25 @@ def main(args): distro = bitbakeinfo["image_distro"].split("-")[1] installed_pkgs = parse_dpkg_status(dpkg_status) - - user_defined_licenses = read_user_defined_license_file(args.user_defined_licenses) - license_mapping = read_license_mapping_file(args.user_defined_license_mapping) - packages_info = get_package_info_from_control(bitbakeinfo["dl_dir"], bitbakeinfo["repo_isar_dir"], - distro, bitbakeinfo["image_distro"], bitbakeinfo["distro_arch"]) + layers = bitbake_runner.find_layers() + user_defined_licenses = read_license_files(layers, args.user_defined_licenses) + license_mapping = read_license_mapping_files( + layers, args.user_defined_license_mapping + ) + + packages_info = get_package_info_from_control( + bitbakeinfo["dl_dir"], + bitbakeinfo["repo_isar_dir"], + distro, + bitbakeinfo["image_distro"], + bitbakeinfo["distro_arch"], + ) installed_pkgs = merge_package_data(installed_pkgs, packages_info) - find_copyright_files(rootfs, installed_pkgs, user_defined_licenses) + read_copyright_files(rootfs, installed_pkgs, user_defined_licenses) + create_license_data(installed_pkgs, license_mapping) output_dir = f"{bitbakeinfo['deploy_dir']}/sbom/{bitbakeinfo['image_full_name']}" if not os.path.exists(output_dir): @@ -208,9 +397,18 @@ def main(args): logger.info(f"Create {args.sbom_format} format sbom for {args.image}") if args.sbom_format == "cyclonedx": - sbom_data = sbom_cyclonedx.create_cyclonedx_sbom(args.product, args.image, distro, installed_pkgs, args.supplier, license_mapping) + sbom_data = sbom_cyclonedx.create_cyclonedx_sbom( + args.product, + args.image, + distro, + installed_pkgs, + args.supplier, + license_mapping, + ) else: - sbom_data = sbom_spdx.create_spdx_sbom(args.product, args.image, distro, installed_pkgs, args.supplier, license_mapping) + sbom_data = sbom_spdx.create_spdx_sbom( + args.product, args.image, distro, installed_pkgs, args.supplier + ) if sbom_data: write_sbom_json(output_filepath, sbom_data) @@ -218,26 +416,64 @@ def main(args): else: logger.critical("Failed to create SBOM.") + def parse_options(): parser = argparse.ArgumentParser() - parser.add_argument("--image", dest="image", help="EMLinux image name", - metavar="IMAGENAME", required=True) - parser.add_argument("--sbom-format", dest="sbom_format", help="spdx or cyclonedx", - metavar="SBOM_FORMAT", required=True) - parser.add_argument("--distro", dest="distro", help="debian distro name(e.g. bookworm)", - metavar="DISTRO") - parser.add_argument("--licenses", dest="user_defined_licenses", help="license yaml file", - metavar="FILE") - parser.add_argument("--license-mapping", dest="user_defined_license_mapping", help="license mapping yaml file", - metavar="FILE") - parser.add_argument("--supplier", dest="supplier", help="Supplier name(e.g. company name)", - metavar="SUPPLIER", required=True) - parser.add_argument("--product", dest="product", help="Product name", - metavar="PRODUCT", required=True) - parser.add_argument("--verbose", dest="verbose_output", help="Enable verbose output", - action="store_true") + parser.add_argument( + "--image", + dest="image", + help="EMLinux image name", + metavar="IMAGENAME", + required=True, + ) + parser.add_argument( + "--sbom-format", + dest="sbom_format", + help="spdx or cyclonedx", + metavar="SBOM_FORMAT", + required=True, + ) + parser.add_argument( + "--distro", + dest="distro", + help="debian distro name(e.g. bookworm)", + metavar="DISTRO", + ) + parser.add_argument( + "--licenses", + dest="user_defined_licenses", + help="license yaml file", + metavar="FILE", + ) + parser.add_argument( + "--license-mapping", + dest="user_defined_license_mapping", + help="license mapping yaml file", + metavar="FILE", + ) + parser.add_argument( + "--supplier", + dest="supplier", + help="Supplier name(e.g. company name)", + metavar="SUPPLIER", + required=True, + ) + parser.add_argument( + "--product", + dest="product", + help="Product name", + metavar="PRODUCT", + required=True, + ) + parser.add_argument( + "--verbose", + dest="verbose_output", + help="Enable verbose output", + action="store_true", + ) return parser.parse_args() + if __name__ == "__main__": main(parse_options()) diff --git a/scripts/lib/python/bitbake_runner.py b/scripts/lib/python/bitbake_runner.py index b888f55e..31c61f73 100644 --- a/scripts/lib/python/bitbake_runner.py +++ b/scripts/lib/python/bitbake_runner.py @@ -9,20 +9,27 @@ import re import subprocess import pathlib +import pprint def find_layers(): + """ + This function returns layer list that is sorted by layer priority. + """ cmd = ["bitbake-layers", "show-layers"] process = subprocess.Popen(cmd, stdout=subprocess.PIPE, text=True) output, errors = process.communicate() - layers = [] + layer_info = {} lines = output.split("\n") for line in lines: tmp = [col for col in line.split(" ") if not col == ""] if len(tmp) >= 2: if pathlib.Path(tmp[1]).exists(): - layers.append(tmp[1]) + name = tmp[1] + layer_info[name] = int(tmp[2]) + + layers = [k for k, v in sorted(layer_info.items(), key=lambda x: x[1])] return layers diff --git a/scripts/lib/python/sbom/licensing.py b/scripts/lib/python/sbom/licensing.py index 2167bd10..65488f23 100644 --- a/scripts/lib/python/sbom/licensing.py +++ b/scripts/lib/python/sbom/licensing.py @@ -1,102 +1,165 @@ -def normalize_licenses(lics, license_mapping): - new_licenses = [] +from spdx_tools.common.spdx_licensing import spdx_licensing - for lic in lics: - if lic in license_mapping: - new_licenses.append(license_mapping[lic]) - else: - new_licenses.append(lic) - return new_licenses - -def split_licenses(lic, sep): - arr = [] - - lics = lic.split(sep) - for l in lics: - arr.append(l.strip()) - - return arr - - -def split_licesense_and_normalize(lic, license_mapping): - """ - Normalize license string based on https://scancode-licensedb.aboutcode.org/ - """ - lics = [] - - if lic in license_mapping: - return [license_mapping[lic]] - - if "~" in lic: - lic = lic.replace("~", "") - - if " exception" in lic: - lic = lic.replace(" exception", "-exception") - - if ", and " in lic: - lics += normalize_licenses(split_licenses(lic, ", and "), license_mapping) - elif "," in lic: - lics += normalize_licenses(split_licenses(lic, ","), license_mapping) - elif "/" in lic: - tmp = normalize_licenses(split_licenses(lic, "/"), license_mapping) - lics.append("-".join(tmp)) - elif " with " in lic: - tmp = normalize_licenses(split_licenses(lic, " with "), license_mapping) - lics.append(" WITH ".join(tmp)) - elif "-WITH-" in lic: - tmp = normalize_licenses(split_licenses(lic, "-WITH-"), license_mapping) - lics.append(" WITH ".join(tmp)) - elif " and/or " in lic: - tmp = normalize_licenses(split_licenses(lic, "and/or"), license_mapping) - lics.append("-and-or-".join(" and-or ", "-and-or-")) - elif " and-or " in lic: - tmp = normalize_licenses(split_licenses(lic, " and-or "), license_mapping) - lics.append("-and-or-".join(tmp)) - elif " OR " in lic: - tmp = normalize_licenses(split_licenses(lic, " OR "), license_mapping) - l = f"({' OR '.join(tmp)})" - lics.append(l) - elif " or " in lic: - tmp = normalize_licenses(split_licenses(lic, " or "), license_mapping) - l = f"({' OR '.join(tmp)})" - lics.append(l) - - else: - lics += normalize_licenses([lic], license_mapping) - - return lics - -def split_licenses_simple(licenses): - ret = [] - splited = False - - for lic in licenses: - if ", and " in lic: - ret += lic.split(", and ") - splited = True - elif " and " in lic: - ret += lic.split(" and ") - splited = True - else: - ret.append(lic) +from license_expression import ( + ExpressionParseError, + ExpressionError, +) - if splited: - return split_licenses_simple(ret) - - return ret +import hashlib +import re -def normalize_for_sbom(licenses, license_mapping): - tmp = [] - normalized = [] +import logging - lics = split_licenses_simple(licenses) - for lic in lics: - tmp += split_licesense_and_normalize(lic, license_mapping) +logger = logging.getLogger("emlinux-sbom-creator") - for lic in tmp: - if not lic.startswith("(") and " " in lic: - normalized.append(lic.replace(" ", "-")) +def create_licenseref_id(pkgname, lic): + m = hashlib.sha256() + m.update(b"{pkgname}-{lic}") + h = m.hexdigest() + return f"LicenseRef-{pkgname}-{lic}-{h}" + + +def split_synopsis(synopsis): + s = synopsis + s = re.sub(r"\s+and/or\s+", " OR ", s, flags=re.IGNORECASE) + s = re.sub(r",\s+and\s+", " AND ", s, flags=re.IGNORECASE) + s = re.sub(r",\s+or\s+", " OR ", s, flags=re.IGNORECASE) + + return re.split( + r"(\s+\bAND\b\s+|\s+\bOR\b\s+|\s+\band\b\s+|\s+\bor\s+|\s*,\s*)", + s, + flags=re.IGNORECASE, + ) + + +def split_synopsis_tokens_only(synopsis): + raw_tokens = split_synopsis(synopsis) + + tokens = [ + t.strip() + for t in raw_tokens + if t and t.strip() and t.strip().upper() not in ["AND", "OR", ","] + ] + + return tokens + + +def sanitize_spdx_idstring(text: str) -> str: + # Replace invalid charcters for SPDX license ID to "-" + sanitized = re.sub(r"[^A-Za-z0-9.-]", "-", text) + if not text == sanitized: + logger.debug(f"Convert {text} to {sanitized}") + sanitized = re.sub(r"-+", "-", sanitized) + + return sanitized.strip(".-") + + +def get_license_text_by_name(license_texts, licence_name): + if license_texts.get(licence_name) is None: + return "No license information is available." + + return license_texts[licence_name] + + +def debian_synopsis_to_spdx_license_id( + pkgname, synopsis, license_texts, license_mapping +): + license_data = {} + extracted_texts_map = {} + + tokens = split_synopsis(synopsis) + processed_tokens = [] + has_operator = False + + for token in tokens: + if not token: + continue + + token_strip = token.strip().upper() + + if token_strip in ["AND", "OR"] or "," in token: + has_operator = True + if token_strip == "AND": + processed_tokens.append(" AND ") + elif token_strip == "OR": + processed_tokens.append(" OR ") + elif "," in token: + processed_tokens.append(" AND ") + continue + + lic = token.strip() + license_id = None + + try: + if lic in license_mapping: + lic = license_mapping[lic] + spdx_licensing.parse(lic) + error = spdx_licensing.validate(lic) + if error and len(error.errors) > 0: + raise ExpressionError(error.errors) + license_id = lic + + except Exception as e: + sanitaized_lic = lic + + # logger.warning(f"Exception type is {type(e)}") + if type(e) == ExpressionError or type(e) == ExpressionParseError: + # "NTP~legal-disclaimer" : this type of license is thrown as ExpressionError + # "LGPL-2.1+ with OpenSSL exception" : this type of license is thrown as ExpressionParseError + sanitaized_lic = sanitize_spdx_idstring(lic) + + if lic in license_texts: + license_id = create_licenseref_id(pkgname, sanitaized_lic) + logger.debug( + f"License token is in license texts. Token '{lic}' -> Create extracted_license {license_id}" + ) + extracted_texts_map[license_id] = get_license_text_by_name( + license_texts, lic + ) + elif synopsis in license_texts: + license_id = create_licenseref_id(pkgname, sanitaized_lic) + logger.debug( + f"Synopsis is in license texts. Synopsis {synopsis} -> Create extracted_license {license_id}" + ) + extracted_texts_map[license_id] = get_license_text_by_name( + license_texts, synopsis + ) + else: + if lic == "public-domain" or lic == "PublicDomain": + license_id = create_licenseref_id(pkgname, sanitaized_lic) + logger.debug("Set dummy Extracted text for public domain lincense") + extracted_texts_map[license_id] = "PUBLIC DOMAIN" + elif not lic == "NOASSERTION": + logger.warning( + f"{pkgname}: Cannot understand licence {lic} so set 'NOASSERTION'" + ) + license_id = "NOASSERTION" + else: + license_id = "NOASSERTION" + + processed_tokens.append(license_id) + + parsed_licenses = "".join(processed_tokens) + parsed_licenses = re.sub(r"\s+", " ", parsed_licenses).strip() + + if has_operator and not ( + parsed_licenses.startswith("(") and parsed_licenses.endswith(")") + ): + parsed_licenses = f"({parsed_licenses})" + + license_data["parsed_synopsis"] = parsed_licenses + license_data["extracted_texts_map"] = extracted_texts_map + + return license_data + + +def create_single_line_license_id_text(licenses): + ret = None + for license in licenses: + synopsis = license["parsed_synopsis"] + if ret is None: + ret = synopsis else: - normalized.append(lic) + ret = f"{ret} AND {synopsis}" - return list(set(normalized)) + return ret diff --git a/scripts/lib/python/sbom/sbom_cyclonedx.py b/scripts/lib/python/sbom/sbom_cyclonedx.py index 1e2ead36..db9c7d96 100644 --- a/scripts/lib/python/sbom/sbom_cyclonedx.py +++ b/scripts/lib/python/sbom/sbom_cyclonedx.py @@ -2,7 +2,7 @@ from cyclonedx.exception import MissingOptionalDependencyException from cyclonedx.factory.license import LicenseFactory -from cyclonedx.model import HashType +from cyclonedx.model import HashType, AttachedText from cyclonedx.model.bom import Bom from cyclonedx.model.component import Component, ComponentType from cyclonedx.model.contact import OrganizationalEntity @@ -10,17 +10,18 @@ from cyclonedx.output.json import JsonV1Dot5 from cyclonedx.schema import SchemaVersion from cyclonedx.validation.json import JsonStrictValidator -from cyclonedx.model.license import LicenseExpression +from cyclonedx.model.license import LicenseExpression, DisjunctiveLicense import json - +import re import os.path import sys + sys.path.append(os.path.dirname(__file__)) import sbom_common -import licensing import logging + logger = logging.getLogger("emlinux-sbom-creator") def debian_section_to_component_type(section): @@ -40,100 +41,154 @@ def debian_section_to_component_type(section): elif section == "kernel": return ComponentType.OPERATING_SYSTEM - return ComponentType.APPLICATION - -def make_license_info(factory, licenses, license_mapping): - ret = None - - uniq_licenses = licensing.normalize_for_sbom(licenses, license_mapping) - for lic in uniq_licenses: - tmp = factory["lc_factory"].make_with_name(lic) - if ret is None: - ret = tmp.name - else: - ret = f"{ret} AND {tmp.name}" + return ComponentType.APPLICATION - return ret def create_organization_entity(pkg): return OrganizationalEntity( - name = pkg["maintainer"], + name=pkg["maintainer"], ) + def create_package_url(distro, pkg): - return PackageURL("deb/debian", - "", - pkg["package"], - pkg["version"], - { - "arch": pkg["arch"], - "distro": distro, - } - ) + return PackageURL( + "deb/debian", + "", + pkg["package"], + pkg["version"], + { + "arch": pkg["arch"], + "distro": distro, + }, + ) + def create_hashes_data(pkg): return [HashType.from_composite_str(f"sha256:{pkg['sha256sum']}")] + +def build_cyclonedx_licenses(pkg): + """ + Builds a list of CycloneDX license objects from package metadata. + Handles the distinction between standard SPDX IDs and custom LicenseRef identifiers. + """ + licenses_string = pkg.get("license_id_text", "") + has_license_ref = "LicenseRef-" in licenses_string + + # Pattern 1: No custom licenses found (all are standard SPDX IDs) + # -> Unify into a single LicenseExpression to avoid schema validation errors. + if not has_license_ref: + if licenses_string: + return [LicenseExpression(value=licenses_string)] + return [] + + # Pattern 2: Custom licenses found (LicenseRef-xxx exists) + # -> Unify everything into a list of DisjunctiveLicense objects to avoid mixed-type errors. + cdx_licenses = [] + + for norm_lic in pkg.get("normalized_licenses", []): + synopsis = norm_lic.get("parsed_synopsis", "").strip() + if not synopsis: + continue + + # Split partially-parsed elements that contain operators (AND/OR) or parentheses + # e.g., "(BSD-4-clause-UC AND LicenseRef-bash-MIT-like...)" + # -> ["BSD-4-clause-UC", "LicenseRef-bash-MIT-like..."] + raw_identifiers = re.split(r"[\s()]+(?:AND|OR)?[\s()]*|[\s()]+", synopsis) + identifiers = [ + id_str + for id_str in raw_identifiers + if id_str and id_str not in ("AND", "OR", "and", "or") + ] + + for single_id in identifiers: + # 2-A. For custom identifiers (LicenseRef-xxx) + if single_id.startswith("LicenseRef-"): + text_map = norm_lic.get("extracted_texts_map", {}) + license_text = ( + text_map.get(single_id) or text_map.get(synopsis) or "PUBLIC DOMAIN" + ) + + cdx_licenses.append( + DisjunctiveLicense( + name=single_id, + text=AttachedText( + content=license_text, content_type="text/plain" + ), + ) + ) + # 2-B. For standard SPDX IDs when custom licenses coexist in the same array + # -> Store in the 'name' field instead of 'id' to bypass strict schema validation rules. + else: + cdx_licenses.append(DisjunctiveLicense(name=single_id)) + + return cdx_licenses + + def create_component(factory, distro, pkg, license_mapping): # https://cyclonedx.org/docs/1.5/json/#components # https://github.com/package-url/purl-spec purl_info = create_package_url(distro, pkg) - pkgname_hash = sbom_common.package_name_hash(pkg['package'], pkg['source']) + pkgname_hash = sbom_common.package_name_hash(pkg["package"], pkg["source"]) - licenses_string = make_license_info(factory, pkg["licenses"], license_mapping) return Component( - type = debian_section_to_component_type(pkg["section"]), - name = pkg["package"], - group = pkg["source"], - version = pkg["version"], - licenses = [LicenseExpression(value=licenses_string)], - supplier = create_organization_entity(pkg), - bom_ref = BomRef(f"{pkg['package']}@{pkg['version']}-{pkgname_hash}"), - purl = purl_info, - hashes = create_hashes_data(pkg), - description = pkg["description"], + type=debian_section_to_component_type(pkg["section"]), + name=pkg["package"], + group=pkg["source"], + version=pkg["version"], + licenses=build_cyclonedx_licenses(pkg), + supplier=create_organization_entity(pkg), + bom_ref=BomRef(f"{pkg['package']}@{pkg['version']}-{pkgname_hash}"), + purl=purl_info, + hashes=create_hashes_data(pkg), + description=pkg["description"], ) + def create_meta(factory, product, image, supplier): - license = factory["lc_factory"].make_from_string('MIT') - + license = factory["lc_factory"].make_from_string("MIT") + product_name_hash = sbom_common.package_name_hash(product, "") factory["bom"].metadata.component = root_component = Component( - name = image, - type = ComponentType.OPERATING_SYSTEM, - licenses = [ license ], - bom_ref = BomRef(f"{product}-{product_name_hash}"), - supplier = OrganizationalEntity(name = supplier), + name=image, + type=ComponentType.OPERATING_SYSTEM, + licenses=[license], + bom_ref=BomRef(f"{product}-{product_name_hash}"), + supplier=OrganizationalEntity(name=supplier), ) return root_component + def create_sbom_json(bom): outputter = JsonV1Dot5(bom) - serialized_json = outputter.output_as_string(indent = 2) + serialized_json = outputter.output_as_string(indent=2) validator = JsonStrictValidator(SchemaVersion.V1_5) try: validation_errors = validator.validate_str(serialized_json) if validation_errors: - logger.debug('JSON invalid', 'ValidationError:', repr(validation_errors), sep='\n', file=sys.stderr) + logger.debug("CycloneDX Validation message") + logger.debug(validation_errors) return None return json.loads(serialized_json) except MissingOptionalDependencyException as error: - logger.debug('JSON-validation was skipped due to', error) + logger.debug("JSON-validation was skipped due to", error) return None return None + def init_bom(): return { "lc_factory": LicenseFactory(), "bom": Bom(), } + def create_cyclonedx_sbom(product, image, distro, packages, supplier, license_mapping): factory = init_bom() @@ -148,4 +203,3 @@ def create_cyclonedx_sbom(product, image, distro, packages, supplier, license_ma factory["bom"].register_dependency(root, components) return create_sbom_json(factory["bom"]) - diff --git a/scripts/lib/python/sbom/sbom_spdx.py b/scripts/lib/python/sbom/sbom_spdx.py index ab482845..98dd42dc 100644 --- a/scripts/lib/python/sbom/sbom_spdx.py +++ b/scripts/lib/python/sbom/sbom_spdx.py @@ -1,5 +1,4 @@ from datetime import datetime -from typing import List from spdx_tools.spdx.constants import DOCUMENT_SPDX_ID from spdx_tools.common.spdx_licensing import spdx_licensing @@ -14,9 +13,9 @@ PackagePurpose, Relationship, RelationshipType, + ExtractedLicensingInfo, ) from spdx_tools.spdx.validation.document_validator import validate_full_spdx_document -from spdx_tools.spdx.validation.validation_message import ValidationMessage from spdx_tools.spdx.writer.write_anything import write_file from spdx_tools.spdx.model.spdx_none import SpdxNone from license_expression import ExpressionParseError @@ -28,13 +27,15 @@ import uuid import logging + logger = logging.getLogger("emlinux-sbom-creator") import os.path import sys + sys.path.append(os.path.dirname(__file__)) import sbom_common -import licensing + def debian_section_to_component_type(section): if section == "libs" or section == "oldlibs": @@ -48,6 +49,7 @@ def debian_section_to_component_type(section): return PackagePurpose.APPLICATION + def get_maintainer_name_and_email(pkg): s = pkg["maintainer"] @@ -67,69 +69,77 @@ def get_maintainer_name_and_email(pkg): return email, name -def create_uniq_list(data): - return list(set(data)) -def split_licenses(lic, sep): - arr = [] +def create_extracted_license_info(pkg): + ret = [] - lics = lic.split(sep) - for l in lics: - arr.append(l.strip()) + created = [] + name = pkg["package"] + for ext in pkg["normalized_licenses"]: + text_maps = ext["extracted_texts_map"] + if not bool(text_maps): + continue - return arr + for license_name in text_maps: + if license_name in created: + continue -def create_license_string(pkg, license_mapping): - licenses = [] - s = "" + text = text_maps[license_name] + logger.debug(f"Create ExtractedLicensingInfo for {license_name}") + extracted_info = ExtractedLicensingInfo( + license_id=license_name, + extracted_text=text, + license_name=f"Custom License for {name} {license_name}", + ) + ret.append(extracted_info) + created.append(license_name) + return ret - licenses_tmp = licensing.normalize_for_sbom(create_uniq_list(pkg["licenses"]), license_mapping) - try: - for lic in licenses_tmp: - spdx_licensing.parse(lic) - licenses.append(lic) - except ExpressionParseError as e: - logger.debug(f"Invalid license name '{lic}'") - licenses.append("unknown") +def create_package_info(pkg, distro): + email, name = get_maintainer_name_and_email(pkg) - s = " AND ".join(licenses) + try: + license_id_text = spdx_licensing.parse(pkg["license_id_text"]) + except ExpressionParseError: + logger.warning(f"Failed to parse {pkg['license_id_text']} so set NOASSERTION") + license_id_text = spdx_licensing.parse("NOASSERTION") - return spdx_licensing.parse(s) + extracted_licenses = create_extracted_license_info(pkg) -def create_package_info(pkg, distro, license_mapping): - email, name = get_maintainer_name_and_email(pkg) - - licenses = create_license_string(pkg, license_mapping) - purl_str = quote(f"pkg:deb/debian/{pkg['package']}@{pkg['version']}?arch={pkg['arch']}&distro={distro}", safe = "@=&/:?") + purl_str = quote( + f"pkg:deb/debian/{pkg['package']}@{pkg['version']}?arch={pkg['arch']}&distro={distro}", + safe="@=&/:?", + ) pkg_name_hash = sbom_common.package_name_hash(pkg["package"], pkg["version"]) spdxid = f"SPDXRef-Package-{pkg_name_hash}" package = Package( - name = pkg["package"], - spdx_id = spdxid, - download_location = SpdxNone(), - version = pkg["version"], - source_info = f"build from: {pkg['source']} {pkg['version']}", - supplier = Actor(ActorType.ORGANIZATION, name, email), - license_concluded = licenses, - license_declared = licenses, - primary_package_purpose = debian_section_to_component_type(pkg["section"]), - external_references = [ + name=pkg["package"], + spdx_id=spdxid, + download_location=SpdxNone(), + version=pkg["version"], + source_info=f"build from: {pkg['source']} {pkg['version']}", + supplier=Actor(ActorType.ORGANIZATION, name, email), + license_concluded=license_id_text, + license_declared=license_id_text, + primary_package_purpose=debian_section_to_component_type(pkg["section"]), + external_references=[ ExternalPackageRef( - category = ExternalPackageRefCategory.PACKAGE_MANAGER, - reference_type = "purl", - locator = purl_str, + category=ExternalPackageRefCategory.PACKAGE_MANAGER, + reference_type="purl", + locator=purl_str, ) ], - files_analyzed = False, - attribution_texts = [ f"PkgID: {pkg['package']}@{pkg['version']}" ], - description = pkg["description"], + files_analyzed=False, + attribution_texts=[f"PkgID: {pkg['package']}@{pkg['version']}"], + description=pkg["description"], ) - return spdxid, package + return spdxid, package, extracted_licenses + def create_meta(product, image, supplier): today = datetime.now() @@ -137,33 +147,61 @@ def create_meta(product, image, supplier): doc_name = f"{product}" ci = CreationInfo( - spdx_version = "SPDX-2.3", - spdx_id = spdxid, - name = doc_name, - data_license = "CC0-1.0", + spdx_version="SPDX-2.3", + spdx_id=spdxid, + name=doc_name, + data_license="CC0-1.0", # see https://spdx.github.io/spdx-spec/v2.3/document-creation-information/#65-spdx-document-namespace-field - document_namespace = f"https://github.com/miraclelinux/meta-emlinux/spdx/{doc_name}-{uuid.uuid4()}", - creators = [Actor(ActorType.ORGANIZATION, supplier)], - created = datetime(today.year, today.month, today.day, today.hour, today.minute, today.second), + document_namespace=f"https://github.com/miraclelinux/meta-emlinux/spdx/{doc_name}-{uuid.uuid4()}", + creators=[Actor(ActorType.ORGANIZATION, supplier)], + created=datetime( + today.year, today.month, today.day, today.hour, today.minute, today.second + ), ) return spdxid, Document(ci) -def create_spdx_sbom(product, image, distro, packages, supplier, license_mapping): + +def create_spdx_sbom(product, image, distro, packages, supplier): doc_spdxid, doc = create_meta(product, image, supplier) + # Root package + root_spdxid = f"SPDXRef-RootPackage-{product}" + root_package = Package( + name=product, + spdx_id=root_spdxid, + download_location=SpdxNone(), + files_analyzed=False, + primary_package_purpose=PackagePurpose.OPERATING_SYSTEM, + description=f"Root image for {product}", + ) + doc.packages.append(root_package) + + doc.relationships.append( + Relationship(doc_spdxid, RelationshipType.DESCRIBES, root_spdxid) + ) + for name in packages: - pkg_spdxid, package = create_package_info(packages[name], distro, license_mapping) + pkg_spdxid, package, extracted_licenses = create_package_info( + packages[name], distro + ) doc.packages.append(package) - doc.relationships.append(Relationship(doc_spdxid, RelationshipType.DESCRIBES, pkg_spdxid)) - + + # Add debian package to Root package + doc.relationships.append( + Relationship(root_spdxid, RelationshipType.CONTAINS, pkg_spdxid) + ) + + for el in extracted_licenses: + doc.extracted_licensing_info.append(el) + validation_messages = validate_full_spdx_document(doc) if validation_messages: logger.debug("SPDX Validation message") for vm in validation_messages: logger.debug(f"- {vm.validation_message}") - + tempname = f"{tempfile.mktemp()}.json" write_file(doc, tempname, False)