[arch-dev-public] dbscripts pkg pools

Roman Kyrylych roman.kyrylych at gmail.com
Tue May 4 11:16:25 EDT 2010


On Sun, May 2, 2010 at 19:10, Pierre Schmitz <pierre at archlinux.de> wrote:
> What about a directory structure like this? We could also remove the os
> subdir and backwards compatibility could be achieved by some symlinks.
>
> ftp
> └── repo
>    ├── arch
>    │   ├── core
>    │   ├── extra
>    │   ├── packages
>    │   └── testing
>    └── community
>        ├── community
>        ├── community-testing
>        └── packages
>
> The actual names might not be final, but with this structure we separate
> our repos from everything else on the ftp and we separate the "official"
> and community repos from each other.

Regardless of the internal structure of arch and community trees,
do we _want_ to separate them?
If it's just because of cleanup scripts, access rights etc.,
then it can be solved this way:

arch - packages from gerolde go there
    pkg - packages are written/removed by db-scripts here
        pkg1.i686.tar.xz
        pkg2.any.tar.xz
        pkg3.x86_64.tar.xz
    repo - db files and symlinks are written/removed by db-scripts here
        testing
            i686
                testing.db.tar.gz
                pkg1.i686.tar.xz -> ../../../pkg/pkg1.i686.tar.xz
                pkg2.any.tar.xz -> ../../../pkg/pkg2.any.tar.xz
            x86_64
        core
        extra
community - packages from sigurd go there
    pkg
    repo
        community-testing
        community
ftp - this is what users will see
    iso
    pkg - union mount of arch/pkg and community/pkg
    repo - union mount of arch/repo and community/repo

The magic:
    mount -t aufs -o br=/arch/pkg=ro+wh:/community/pkg=ro+wh none /ftp/pkg
    mount -t aufs -o br=/arch/repo=ro+wh:/community/repo=ro+wh none /ftp/repo

Once union mounts hit the upstream it will be even easier:
    mount /arch/pkg /ftp/pkg
    mount --union /community/pkg /ftp/pkg
    mount /arch/repo /ftp/pkg
    mount --union /community/repo /ftp/pkg

Pros/cons of this particular scheme:
* no arch/community separation from the user point of view
* no os prefix
* one huge pool of packages
  * packages can be moved even between official and community repos
    without the need for mirrors/users to redownload them
  * all packages must have arch suffix
* a big initial resync is needed

Opinions?

P.S.: this is just an idea, I'm not going to argue about it,
so if you don't like it - just ignore it.

-- 
Roman Kyrylych (Роман Кирилич)


More information about the arch-dev-public mailing list