exatad / license-extract-legacy Goto Github PK
View Code? Open in Web Editor NEWOpen Source License and Notice Extraction Toolchain
License: Other
Open Source License and Notice Extraction Toolchain
License: Other
# # Copyright © 2015 Exablox Corporation. All Rights Reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 2. 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. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 HOLDER 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. # The purpose of these scripts is to help facilitate open source compliance ------------------------------------- Brief description of the tools: * getsrc.sh Takes the name of a debian package, creates a Packages subdir, and creates a "runit.sh" script within the Packages subdir which when run will fetch all of the debian source and patchset archives * getallsrc.sh This tool is like getsrc.sh, except it operates on all of the installed packages as found with dpkg -l, instead of on a package and it's dependencies. * Packages/runit.sh (autogenerated) * Packages/fetchit.sh (autogenerated) Autogenerated from getsrc.sh, downloads all of the debian package sources * extract.sh Runs dpkg-source -x on each package in the Packages subdir, creating the debian patched source tree. * mkarchive.sh For each patched package source tree in the Packages subdir, this tool creates a .tgz in the Archive subdir. Example Usage: mkdir /some/place cd /some/place getallsrc.sh (cd Packages && ./runit.sh) extract.sh mkarchive.sh NOTE: After running these tools, the Archive subdir is ready to be uploaded into Fossology for license identification. ------------------------------------- * mknotices.sh: Given the path to the "Archive" directory created by "mkarchive.sh", and a destination folder, this tool takes each package in the archive and runs the license extractor (see below) on it, and generates a static site which includes: * Overview notice about open source compliance * A List of Packages, and for each package - ability to download the package - ability to browse and download the software licenses - Ability to browse and download the copyright notices Finally, it creates a compressed archive that contains everything described above, suitable for making the available open source available on a website or by delivering the archive to anyone that requests it. Example usage: mknotices.sh $(pwd)/Archive $(pwd)/Notices * license-extract-VERSION-HOST: Usage: license-extract-VERSION-osx [options] [path] ... Version VERSION. © 2014-2015 Exablox Corporation. All Rights Reserved. Options: -0=false: Pathnames read from the input file (-i) are \0 delimited (default is \n delimited) -continue=false: Continue processing, ignoring errors (default is abort on error) -i="": File to read list of files and directories from (use '-' for stdin) -ldir="": Directory to save licenses to (default = don't save) -o="": File to write HTML formatted licensedb to (default = stdout) -quiet=false: Don't output errors (use in conjunction with '-continue') -showlic=false: show licenses found during processing -style="": Use this css stylesheet (default = embed) -verbose=false: Turn on verbose debug output (default is off) -version=false: show version and exit Description: The purpose of this tool is to generate find and emit the licenses and copyright notices in a sourcetree for compliance purposes. For example, it can be used to help comply with the various open source licenses that require attribution in documentation. It recursively searches through the given set of files and directories, extracts copyright notices (de-duplicating against notices it has already seen), and extracts the licenses. At the end of the search, it outputs (-o) an HTML document which contains per file copyright notices and licenses. If the -ldir option is given in combination with -o, it copies the licenses it finds into the specified directory, and makes the licenses viewable / downloadable via a link in the HTML document it emits. For directories provided on the command line, all contents will be recursively scanned. For more complex searches (such as excluding certin file types), a list of files may also be provided via a file or stdin. This makes it easy to build complex query pipelines with tools such as find(1). See the '-i' and '-0' command line options for details.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.