diff --git a/doc/BINPKG_REPOSITORY b/doc/BINPKG_REPOSITORY index fbd1874a07..5fb2e8a764 100644 --- a/doc/BINPKG_REPOSITORY +++ b/doc/BINPKG_REPOSITORY @@ -3,7 +3,16 @@ an index file describing the information about available packages. The structure for this file is just the same than the plist file used to register installed packages, aka "an array of dictionaries" and -a "dictionary per package". +a "dictionary per package". Additional objects are added into the +main dictionary to specify more info, like: + + - pkgindex-version: version used to build the index. + - location-local: local path to the repository. + - location-remote: remote URI repository. + - total-pkgs: total of number of available packages. + +"location-local" will always be created, and it might be exported via +a remote location specified with "location-remote". The package dictionary will be the same than the one available in package's metadata directory "/var/cache/xbps/$pkgname/props.plist", @@ -13,7 +22,15 @@ the repository itself. Here's how the package index plist file shall look like in a repository: - xbps_available_packages + pkgindex-version + 1.0 + location-local + /xbps/repo/local + location-remote + http://www.xbps-remote.org/repo/public + total-pkgs + 666 + available-packages pkgname diff --git a/utils/sh/binpkg-genindex.sh b/utils/sh/binpkg-genindex.sh index b4f5a30332..bfdebf118a 100644 --- a/utils/sh/binpkg-genindex.sh +++ b/utils/sh/binpkg-genindex.sh @@ -23,6 +23,8 @@ # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #- +XBPS_PKGINDEX_VERSION="1.0" # Current version for pkgindex plist + # # These functions write a package index for a repository, with details about # all available binary packages. @@ -72,7 +74,7 @@ write_repo_pkgindex() pkgsum=$(($pkgsum + 1)) done - write_repo_pkgindex_footer $pkgindexf + write_repo_pkgindex_footer $pkgindexf $pkgsum if [ $? -eq 0 ]; then $XBPS_REGPKGDB_CMD sanitize-plist $pkgindexf [ $? -ne 0 ] && rm -f $pkgindexf && rm -rf $tmppkgdir && exit 1 @@ -97,7 +99,11 @@ write_repo_pkgindex_header() -xbps_available_packages +pkgindex-version +$XBPS_PKGINDEX_VERSION +location-local +$XBPS_PACKAGESDIR +available-packages _EOF } @@ -105,11 +111,14 @@ _EOF write_repo_pkgindex_footer() { local file="$1" + local totalpkgs="$2" - [ -z "$file" ] && return 1 + [ -z "$file" -o -z "$totalpkgs" ] && return 1 cat >> $file <<_EOF +total-pkgs +$totalpkgs _EOF