{"push_id":582836173,"size":8,"distinct_size":7,"ref":"refs/heads/binpkg-support-integration","head":"ce5f869cdd1bdbf2c631953b43848d9fa0948a44","before":"3df0972d04c3923ae46288d79151f761471e3934","commits":[{"sha":"86a675d7c9979f245499dd8d2253557933b6a3fe","author":{"email":"a17fa1dcf5b7e2df0c563c7a30fa1870d6a8ff57@gentoo.org","name":"Zac Medico"},"message":"man/portage.5: document sets.conf (bug 541188)\n\nThis documents /etc/portage/sets.conf, /usr/portage/sets.conf, and\n/usr/share/portage/config/sets. It refers to \"Package Set Configuration\"\nsection of the html documentation for more information.\n\nX-Gentoo-Bug: 541188\nX-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=541188\nAcked-by: Brian Dolbec <dolsen@gentoo.org>","distinct":false,"url":"https://api.github.com/repos/zmedico/portage/commits/86a675d7c9979f245499dd8d2253557933b6a3fe"},{"sha":"0b7d55d0bb620d416e49bf1710f097ef18e922b1","author":{"email":"a17fa1dcf5b7e2df0c563c7a30fa1870d6a8ff57@gentoo.org","name":"Zac Medico"},"message":"binpkg-multi-instance 1 of 7\n\nExtend the _pkg_str class with build_id, build_time, file_size, and\nmtime attributes. These will be used to distinguish binary package\ninstances that have the same cpv. Package sorting accounts for\nbuild_time, which will be used to prefer newer builds over older builds\nwhen their versions are identical.","distinct":true,"url":"https://api.github.com/repos/zmedico/portage/commits/0b7d55d0bb620d416e49bf1710f097ef18e922b1"},{"sha":"0efedf560fad6a2900b885fd67ce98cf00bbc210","author":{"email":"a17fa1dcf5b7e2df0c563c7a30fa1870d6a8ff57@gentoo.org","name":"Zac Medico"},"message":"binpkg-multi-instance 2 of 7\n\nAdd multi-instance support to fakedbapi, which allows multiple instances\nwith the same cpv to be stored simultaneously, as long as they are\ndistinguishable using the new _pkg_str build_id, build_time, file_size,\nand mtime attributes. This will be used to add multi-instance support to\nthe bindbapi class (which inherits from fakedbapi).","distinct":true,"url":"https://api.github.com/repos/zmedico/portage/commits/0efedf560fad6a2900b885fd67ce98cf00bbc210"},{"sha":"ecc312d6167a720f9917c25d0a5794f255247195","author":{"email":"a17fa1dcf5b7e2df0c563c7a30fa1870d6a8ff57@gentoo.org","name":"Zac Medico"},"message":"binpkg-multi-instance 3 of 7\n\nFEATURES=binpkg-multi-instance causes an integer build-id to be\nassociated with each binary package instance. Inclusion of the build-id\nin the file name of the binary package file makes it possible to store\nan arbitrary number of binary packages built from the same ebuild.\n\nHaving multiple instances is useful for a number of purposes, such as\nretaining builds that were built with different USE flags or linked\nagainst different versions of libraries. The location of any particular\npackage within PKGDIR can be expressed as follows:\n\n\t${PKGDIR}/${CATEGORY}/${PN}/${PF}-${BUILD_ID}.xpak\n\nThe build-id starts at 1 for the first build of a particular ebuild,\nand is incremented by 1 for each new build. It is possible to share a\nwritable PKGDIR over NFS, and locking ensures that each package added\nto PKGDIR will have a unique build-id. It is not necessary to migrate\nan existing PKGDIR to the new layout, since portage is capable of\nworking with a mixed PKGDIR layout, where packages using the old layout\nare allowed to remain in place.\n\nThe new PKGDIR layout is backward-compatible with binhost clients\nrunning older portage, since the file format is identical, the\nper-package PATH attribute in the 'Packages' index directs them to\ndownload the file from the correct URI, and they automatically use\nBUILD_TIME metadata to select the latest builds.\n\nThere is currently no automated way to prune old builds from PKGDIR,\nalthough it is possible to remove packages manually, and then run\n'emaint --fix binhost' to update the ${PKGDIR}/Packages index. Support\nfor FEATURES=binpkg-multi-instance is planned for eclean-pkg.\n\nX-Gentoo-Bug: 150031\nX-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=150031","distinct":true,"url":"https://api.github.com/repos/zmedico/portage/commits/ecc312d6167a720f9917c25d0a5794f255247195"},{"sha":"ef0fca7dcc98bd277e075dc74109ce515e1a172c","author":{"email":"a17fa1dcf5b7e2df0c563c7a30fa1870d6a8ff57@gentoo.org","name":"Zac Medico"},"message":"binpkg-multi-instance 4 of 7\n\nAdd a test case to verify that emerge --rebuilt-binaries works with\nbinpkg-multi-instance. This relies on the fact that binary packages of\nthe same version are ordered by BUILD_TIME, so that the latest builds\nare preferred when appropriate.","distinct":true,"url":"https://api.github.com/repos/zmedico/portage/commits/ef0fca7dcc98bd277e075dc74109ce515e1a172c"},{"sha":"cf4fa62062b2fdf205a82b493475a0c576446fca","author":{"email":"a17fa1dcf5b7e2df0c563c7a30fa1870d6a8ff57@gentoo.org","name":"Zac Medico"},"message":"binpkg-multi-instance 5 of 7\n\nRemove unused bintree _pkgindex_cpv_map_latest_build function. This\nfunction is used by binhost clients running older versions of portage\nto select the latest builds when their binhost server switches to\nFEATURES=binpkg-multi-instance. The function is now unused because\nportage is now capable of examining multiple builds and it sorts them\nby BUILD_TIME in order to ensure that the latest builds are preferred\nwhen appropriate.","distinct":true,"url":"https://api.github.com/repos/zmedico/portage/commits/cf4fa62062b2fdf205a82b493475a0c576446fca"},{"sha":"5f0b53067d0c6e92663c233cbc499a3fe08af06e","author":{"email":"a17fa1dcf5b7e2df0c563c7a30fa1870d6a8ff57@gentoo.org","name":"Zac Medico"},"message":"binpkg-multi-instance 6 of 7\n\nRemove unused binarytree _remove_symlink, _create_symlink,\nprevent_collision, _move_to_all, and _move_from_all methods. These are\nall related to the oldest PKGDIR layout, which put all of the tbz2\nfiles in $PKGDIR/All, and created symlinks to them in the category\ndirectories. The $PKGDIR/All layout should be practically extinct by\nnow. Now portage recognizes all existing layouts, or mixtures of them,\nand uses the old packages in place. It never puts new packages in\n$PKGDIR/All, so there's no need to move packages around to prevent file\nname collisions between packages from different categories. It also\nonly uses regular files (any symlinks are ignored).","distinct":true,"url":"https://api.github.com/repos/zmedico/portage/commits/5f0b53067d0c6e92663c233cbc499a3fe08af06e"},{"sha":"ce5f869cdd1bdbf2c631953b43848d9fa0948a44","author":{"email":"a17fa1dcf5b7e2df0c563c7a30fa1870d6a8ff57@gentoo.org","name":"Zac Medico"},"message":"binpkg-multi-instance 7 of 7\n\nSupport \"profile-formats = build-id\" setting for layout.conf. When\nthis is enabled in layout.conf of the containing repository, a\ndependency atom in the profile can refer to a specific build, using the\nbuild-id that is assigned when FEATURES=binpkg-multi-instance is\nenabled. A build-id atom is identical to a version-specific atom,\nexcept that the version is followed by a hyphen and an integer build-id.\n\nWith the build-id profile format, it is possible to assemble a system\nusing specific builds of binary packages, as users of \"binary\"\ndistros might be accustomed to. For example, an atom in the \"packages\"\nfile can pull a specific build of a package into the @system set, and\nan atom in the \"package.keywords\" file can be used to modify the\neffective KEYWORDS of a specific build of a package.\n\nRefering to specific builds can be useful for a number of reasons. For\nexample, if a particular build needs to undergo a large amount of\ntesting in a complex environment in order to verify reliability, then\nit can be useful to lock a profile to a specific build that has been\nthoroughly tested.","distinct":true,"url":"https://api.github.com/repos/zmedico/portage/commits/ce5f869cdd1bdbf2c631953b43848d9fa0948a44"}]}