[PC-BSD Dev] Binary patch support for updates.

Dylan Cochran a134qaed at gmail.com
Tue Apr 21 12:02:56 PDT 2009

I was looking into adding support for bsdiff to the system updates and
PBIs, however, I am missing two bits of information.

1): I can find no definition of the current PBI file format, other
then it is the concantenation of the pbistart binary, a header, a png
file, a header, and two tarballs. To do binary updating properly, you
need to first decompress any of the input files, as compressed input
yields patches of the same size as the output file (which defeats the
purpose). So I have to start by writing a PBI file format unpacker to
break it into uncompressed components, and then update those. If there
is any information about querying for the size of each element, and
the 'proper' way to parse the input file, it would be a great help.

2): I am unable to find any program or script that generates the .upd
files and the update tarballs. The system updates look to be the
simplest ones to get started on, as they are guarenteed to have an
existing reference point, they are simple collections of files, and
use an extensible metadata format that are simpler to add the extra
information to. I want to get started on that, but I need the update
generation and pushing script/programs.

More information about the Dev mailing list