radareorg / r2pm

Radare2 cross platform package manager
GNU Lesser General Public License v3.0
34 stars 12 forks source link

Support for binary packages #7

Open XVilka opened 6 years ago

XVilka commented 6 years ago

Mostly for Windows and OS X

XVilka commented 5 years ago

I think just using ZIP files with some kind of manifest and signature check can be good enough.

A good example is the structure of IPK (OpenWRT package format archives: https://bitsum.com/creating_ipk_packages.htm

IPK files are archives containing the following:

    data.tar.gz :  contains data.tar:
        data.tar : These are the files that will be installed to, or removed from, the file system. They are in their correct locations in the directory tree starting at the root of the firmware file system. For example:
            ./usr/sbin/package
            ./tmp/package_config
            ./etc/package_config -> symbolic link -> ../tmp/config_folder
            ./tmp/package_config/package.conf
            NOTE: the "." directory must be included in the path names
    control.tar.gz : contains control.tar:
        control.tar : These are files which give information about the package. For examples, it's name, version, and dependencies.
            ./control : describes the package
            ./conffiles : indicates which files in the package are used for config files once installed
    debian_binary : the reason this exists is unknown. It's perhaps some platform or format indicator. It is a text file that consists of "2.0".