modified: src1/input.c
[GalaxyCodeBases.git] / tools / pbzx / README.md
blob8ffc39a1f0c283f273b76c7475355fda3793a65f
1 # pbzx stream parser
3 This repository is a fork of PHPdev32's implementation of the `pbzx` stream
4 parser program of which the original source code can be found [here][source].
5 Pbzx is a format employed in later versions of OSX disk images (starting with
6 10.10) to encode payload data in `.pkg` files. Pbzx unpacks `.pkg` files and
7 outputs to stdout to be unpacked with `cpio`. Note that `.pkg` files are plain
8 `.xar` archives.
10     pbzx SomePkg.pkg | cpio -i  # or
11     pbzx -n Payload  | cpio -i
13 To compile `pbzx`, do
15     clang -llzma -lxar -I /usr/local/include pbzx.c -o pbzx
17 > If `<lzma.h>` or `<xar/xar.h>` are missing, install them with [Homebrew]
18 > using
20 >     brew install xz && brew link xz
22   [source]: http://www.tonymacx86.com/general-help/135458-pbzx-stream-parser.html
23   [Homebrew]: http://brew.sh/
25 ## Changelog
27 __v1.0.2__
29 - Add `-v` flag to print version of `pbzx`
31 __v1.0.1__
33 - Support unpacking from stdin and and plain pbzx files (see new command-line
34   parameters)
35 - Add command-line flags
36     - Flag `-` specifies reading a pbzx file from stdin (currently does
37       not support xar input)
38     - Flag `-n` specifies that the file is a pbzx instead of a xar file
39     - Flag `-h` shows usage and some information, then exits
41 __v1.0.0__
43 - Initial version with exact code from [source].
45 ## License
47 Copyright (C) 2017  Niklas Rosenstein
48 Copyright (C) 2014  PHPdev32
50 This program is free software: you can redistribute it and/or modify
51 it under the terms of the GNU General Public License as published by
52 the Free Software Foundation, either version 3 of the License, or
53 (at your option) any later version.
55 This program is distributed in the hope that it will be useful,
56 but WITHOUT ANY WARRANTY; without even the implied warranty of
57 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
58 GNU General Public License for more details.
60 You should have received a copy of the GNU General Public License
61 along with this program.  If not, see <http://www.gnu.org/licenses/>.