GithubHelp home page GithubHelp logo

hogliux / bomutils Goto Github PK

View Code? Open in Web Editor NEW
107.0 9.0 35.0 1.24 MB

Open source tools to create bill-of-materials files used in Mac OS X installers

License: GNU General Public License v2.0

C++ 87.42% Makefile 5.72% C 6.18% Dockerfile 0.69%

bomutils's People

Contributors

bamthomas avatar baron1405 avatar hogliux avatar msabramo avatar np5 avatar roblabla avatar savchenko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bomutils's Issues

Tutorial for windows

Many commands on the linux tutorial are native to linux. A Windows tutorial and/or tool package (for cpio and stuff like that) would be very appreciated :-)

Segfault in lsbom

Thank you for this great utility!

Unfortunately, commit 704739c introduced a segfault in lsbom, which is triggered verifying any Bom. Even the provided docker image fails to build.

I resolved the issue as follows:

diff --git a/src/lsbom.cpp b/src/lsbom.cpp
index 22d51e7..94fbb90 100644
--- a/src/lsbom.cpp
+++ b/src/lsbom.cpp
@@ -268,7 +268,7 @@ int main(int argc, char *argv[]) {

       DEBUG(2, "BOMVar 0x" << hex << ntohl(var->index) << ' ' << name << ':');

-      if (strstr(name.c_str(),"Paths") == 0) {
+      if (name.rfind("Paths", 0) == 0) {
         BOMPaths *paths = (BOMPaths *)lookup(tree->child);

         typedef map<uint32_t, string> filenames_t;

Passing c_str() pointers to standard library string functions is problematic; the C++ reference says the pointer obtained from c_str() may be invalidated by passing a non-const reference to the string to any standard library function

Consider signing up for Coverity scanning

Coverity Prevent is a great static analyzer for C/C++ (i.e. good checkers, very low false positive rate). Coverity offers free scanning of open source proejcts (https://scan.coverity.com/). There is really no downside to using this service and the potential to catch some surprising defects.

mkbom is missing hidden files

On Linux/MacOS when running mkbook /source/path /dest/Bom the resulting Bom file is missing all the hidden files (prefixed with .).

lsbom: BOM file from iOS OTA Update not readable

Hi,
at the weekend I tried to list the contents of the pre.bom and post.bom of a iOS OTA update file. lsbom just says nothing. I tracked the problem down to line 271:
if (name == "Paths") {
For whatever reason this statement is always false, even if name is indeed "Paths". If I rewrite the statement to
if (strstr(name.c_str(),"Paths") == 0) {
it works and shows the contents of the BOM file. I know this is not a fix, but at least it works for my particular problem.

Regards,
HellG

How to debug generated packages

Hello,

First of all congratulations on this tool.

After generating my first package. I am failing to install it with the installer tool on mac osx.

installer: Error the package path specified was invalid:

Using -verbose does not really help either.

I followed the tutorial and checked the steps carefully.

How can I get more information to help me narrow down where the problem is ?

Regards,
Alfredo Palhares

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.