[pacman-dev] Source Package Repositories
Now we have .SRCINFO in source packages, it would be easy to add the source packages to a repository and have pacman be able to access them. This will kill ABS in Arch! There are two ideas on how this should be handled: 1) Add source package information in the .db file if it is there when a package is added or 2) Have a separate .source repository I have listed the pros/cons of each approach here: https://wiki.archlinux.org/index.php/User:Allan/Pacman_Source_Repositories I personally like #2, because adding them to .db files is a major increase in size. Currently, signatures take up ~55% of the average sync database size. With the source package also having a signature, that increases the db by slightly more than that much again. Any other comments to add to the debate before I make a final decision and implement this? Cheers, Allan
On Sun, 2015-07-05 at 21:36 +1000, Allan McRae wrote:
Now we have .SRCINFO in source packages, it would be easy to add the source packages to a repository and have pacman be able to access them. This will kill ABS in Arch!
There are two ideas on how this should be handled:
1) Add source package information in the .db file if it is there when a package is added
or
2) Have a separate .source repository
I have listed the pros/cons of each approach here: https://wiki.archlinux.org/index.php/User:Allan/Pacman_Source_Reposit ories
I personally like #2, because adding them to .db files is a major increase in size. Currently, signatures take up ~55% of the average sync database size. With the source package also having a signature, that increases the db by slightly more than that much again.
Any other comments to add to the debate before I make a final decision and implement this?
Why in option #1, you doesn't follow the logic of debug repository? I mean have a dedicated repository where we only push source packages? This make us progress on having debug repository up and running. Cheers, -- Sébastien "Seblu" Luttringer https://seblu.net | Twitter: @seblu42 GPG: 0x2072D77A
On 14/08/15 05:44, Sébastien Luttringer wrote:
On Sun, 2015-07-05 at 21:36 +1000, Allan McRae wrote:
Now we have .SRCINFO in source packages, it would be easy to add the source packages to a repository and have pacman be able to access them. This will kill ABS in Arch!
There are two ideas on how this should be handled:
1) Add source package information in the .db file if it is there when a package is added
or
2) Have a separate .source repository
I have listed the pros/cons of each approach here: https://wiki.archlinux.org/index.php/User:Allan/Pacman_Source_Reposit ories
I personally like #2, because adding them to .db files is a major increase in size. Currently, signatures take up ~55% of the average sync database size. With the source package also having a signature, that increases the db by slightly more than that much again.
Any other comments to add to the debate before I make a final decision and implement this?
Why in option #1, you doesn't follow the logic of debug repository? I mean have a dedicated repository where we only push source packages?
This make us progress on having debug repository up and running.
Debug packages are just normal packages. There is nothing stopping them being added to a repository today. (This would take about an hour for someone to make the necessary patching to Arch tools...) Allan
On Fri, 2015-08-14 at 07:36 +1000, Allan McRae wrote:
On 14/08/15 05:44, Sébastien Luttringer wrote:
On Sun, 2015-07-05 at 21:36 +1000, Allan McRae wrote:
Debug packages are just normal packages. There is nothing stopping them being added to a repository today. (This would take about an hour for someone to make the necessary patching to Arch tools...)
I always see source packages linked to how we upload package to AUR. Now that AUR has moved to git, I'm wondering why we don't drop these source packages in order to let source management to git. I understand the need of getting the source of the package I installed locally, but what is the pros of having special source packages in order to replace ABS, instead of a regular package putting source files in a directory like /usr/src/pacman/$pkgname/$pkgver? Cheers, -- Sébastien "Seblu" Luttringer https://seblu.net | Twitter: @seblu42 GPG: 0x2072D77A
On 01/09/15 11:26, Sébastien Luttringer wrote:
On Fri, 2015-08-14 at 07:36 +1000, Allan McRae wrote:
On 14/08/15 05:44, Sébastien Luttringer wrote:
On Sun, 2015-07-05 at 21:36 +1000, Allan McRae wrote:
Debug packages are just normal packages. There is nothing stopping them being added to a repository today. (This would take about an hour for someone to make the necessary patching to Arch tools...)
I always see source packages linked to how we upload package to AUR. Now that AUR has moved to git, I'm wondering why we don't drop these source packages in order to let source management to git.
The AUR used source packages because that is how makepkg created them... The AUR is also an Arch specific construct (which I abandoned the second I could not upload a source package made by makepkg). With git repositories for packages, you need another tool to look for package updates. With source repositories, pacman will download the updates for you as part of your usual package management.
I understand the need of getting the source of the package I installed locally, but what is the pros of having special source packages in order to replace ABS, instead of a regular package putting source files in a directory like /usr/src/pacman/$pkgname/$pkgver?
That requires installing the binary package to get the sources. Allan
On mar., 2015-09-01 at 15:43 +1000, Allan McRae wrote:
On 01/09/15 11:26, Sébastien Luttringer wrote:
On Fri, 2015-08-14 at 07:36 +1000, Allan McRae wrote:
On 14/08/15 05:44, Sébastien Luttringer wrote:
On Sun, 2015-07-05 at 21:36 +1000, Allan McRae wrote: I understand the need of getting the source of the package I installed locally, but what is the pros of having special source packages in order to replace ABS, instead of a regular package putting source files in a directory like /usr/src/pacman/$pkgname/$pkgver?
That requires installing the binary package to get the sources.
If we don't depend on the binary package in the source package, I don't see why. Regards, -- Sébastien "Seblu" Luttringer https://seblu.net | Twitter: @seblu42 GPG: 0x2072D77A
On 01/09/15 19:51, Sébastien Luttringer wrote:
On mar., 2015-09-01 at 15:43 +1000, Allan McRae wrote:
On 01/09/15 11:26, Sébastien Luttringer wrote:
On Fri, 2015-08-14 at 07:36 +1000, Allan McRae wrote:
On 14/08/15 05:44, Sébastien Luttringer wrote:
On Sun, 2015-07-05 at 21:36 +1000, Allan McRae wrote: I understand the need of getting the source of the package I installed locally, but what is the pros of having special source packages in order to replace ABS, instead of a regular package putting source files in a directory like /usr/src/pacman/$pkgname/$pkgver?
That requires installing the binary package to get the sources.
If we don't depend on the binary package in the source package, I don't see why.
I got confused by your wording... "instead of a regular package putting source files in" Now I understand that you are suggesting a package that only has files in /usr/src/pacman/$pkgname/$pkgver and not just putting the files there in the binary package. That is essentially no different to what I was proposing. Except that using the current source package layout (i.e. no root directory), we can have the root path completely configurable. The other advantage of keeping sources in a different repository type, is that "pacman -S glibc" and "pacman -B glibc" will get glibc. No need to have different suffixes or adding repo prefixes. A
On mar., 2015-09-01 at 20:06 +1000, Allan McRae wrote:
On 01/09/15 19:51, Sébastien Luttringer wrote:
On mar., 2015-09-01 at 15:43 +1000, Allan McRae wrote:
On 01/09/15 11:26, Sébastien Luttringer wrote:
On Fri, 2015-08-14 at 07:36 +1000, Allan McRae wrote:
On 14/08/15 05:44, Sébastien Luttringer wrote:
On Sun, 2015-07-05 at 21:36 +1000, Allan McRae wrote: I understand the need of getting the source of the package I installed locally, but what is the pros of having special source packages in order to replace ABS, instead of a regular package putting source files in a directory like /usr/src/pacman/$pkgname/$pkgver?
That requires installing the binary package to get the sources.
If we don't depend on the binary package in the source package, I don't see why.
I got confused by your wording... "instead of a regular package putting source files in" Now I understand that you are suggesting a package that only has files in /usr/src/pacman/$pkgname/$pkgver and not just putting the files there in the binary package.
That is essentially no different to what I was proposing. Except that using the current source package layout (i.e. no root directory), we can have the root path completely configurable.
The other advantage of keeping sources in a different repository type, is that "pacman -S glibc" and "pacman -B glibc" will get glibc. No need to have different suffixes or adding repo prefixes.
A
Allan, Do you plan to store all the files needed to build the binary package in these source packages? I mean files in $source array. I didn't find the related commits in the pacman git tree; is this have been abandoned? Regards, -- Sébastien "Seblu" Luttringer https://seblu.net | Twitter: @seblu42 GPG: 0x2072D77A
On 06/12/15 02:27, Sébastien Luttringer wrote:
On mar., 2015-09-01 at 20:06 +1000, Allan McRae wrote:
On 01/09/15 19:51, Sébastien Luttringer wrote:
On mar., 2015-09-01 at 15:43 +1000, Allan McRae wrote:
On 01/09/15 11:26, Sébastien Luttringer wrote:
On Fri, 2015-08-14 at 07:36 +1000, Allan McRae wrote:
On 14/08/15 05:44, Sébastien Luttringer wrote: > On Sun, 2015-07-05 at 21:36 +1000, Allan McRae wrote: I understand the need of getting the source of the package I installed locally, but what is the pros of having special source packages in order to replace ABS, instead of a regular package putting source files in a directory like /usr/src/pacman/$pkgname/$pkgver?
That requires installing the binary package to get the sources.
If we don't depend on the binary package in the source package, I don't see why.
I got confused by your wording... "instead of a regular package putting source files in" Now I understand that you are suggesting a package that only has files in /usr/src/pacman/$pkgname/$pkgver and not just putting the files there in the binary package.
That is essentially no different to what I was proposing. Except that using the current source package layout (i.e. no root directory), we can have the root path completely configurable.
The other advantage of keeping sources in a different repository type, is that "pacman -S glibc" and "pacman -B glibc" will get glibc. No need to have different suffixes or adding repo prefixes.
A
Allan,
Do you plan to store all the files needed to build the binary package in these source packages? I mean files in $source array.
Just source packages made by "makepkg --source". The upstream sources would still need to be downloaded.
I didn't find the related commits in the pacman git tree; is this have been abandoned?
It will not make pacman-5.0. A
participants (2)
-
Allan McRae
-
Sébastien Luttringer