[arch-dev-public] Divide and Konquer - Splitting KDE packages

Allan McRae allan at archlinux.org
Thu Jan 22 20:59:58 EST 2009


Aaron Griffin wrote:
> On Thu, Jan 22, 2009 at 7:35 PM, Aaron Griffin <aaronmgriffin at gmail.com> wrote:
>   
>> On Thu, Jan 22, 2009 at 7:00 PM, Aaron Griffin <aaronmgriffin at gmail.com> wrote:
>>     
>>> On Thu, Jan 22, 2009 at 6:21 PM, Pierre Schmitz <pierre at archlinux.de> wrote:
>>>       
>>>> In addition to this we'll need to update our devtools and db-scripts to handle
>>>> those packages right. extrapkg should be quite simple; archrelease and repo-
>>>> add should work just fine; only the db-scripts will really fail because they
>>>> cannot guess the svn-dir just from the package name anymore.
>>>>         
>>> Hmmm, this one I will have to think about. The devtools changes should
>>> be straightforward, but the db-scripts changes will not. Any ideas as
>>> to how we can convert a packagename to an svn-dir name? I'd rather not
>>> scan the whole repo...
>>>       
>> Best I can do after some initial hacking. Are there any assumptions we
>> can make based on package name to trim the list so we don't have to
>> check all PKGBUILDs?
>>
>> This is done without a checkout of the full repo, using svn list and svn cat...
>>
>> $ ./pkgfind 3ddesktop #first package in the repos
>> Repo scan complete in 51ms
>> Package -> 3ddesktop/
>>
>> $ ./pkgfind bash
>> Repo scan complete in 3809ms
>> Package -> bash/
>>
>> $ ./pkgfind libpano13 #median package in the repos
>> Repo scan complete in 44170ms
>> Package -> libpano13/
>>
>> $ ./pkgfind zsync #2nd to last package in the repos
>> Repo scan complete in 90997ms
>> Package -> zsync/
>>
>> These numbers are just going to grow...
>>
>>     
>
> Optimization: If we assume the first letters match...
>
> $ ./pkgfind libpano13
> Repo scan complete in 5555ms
> Package -> libpano13/
>
> $ ./pkgfind zvbi
> Repo scan complete in 599ms
> Package -> zvbi/
>
> $ ./pkgfind zsync
> Repo scan complete in 539ms
> Package -> zsync/
>
> $ ./pkgfind yasm
> Repo scan complete in 235ms
> Package -> yasm/
>
> $ ./pkgfind perlxml
> Repo scan complete in 3473ms
> Package -> perlxml/
>   

Thomas suggested using symlinks in the svn directory? 

 From his email: e.g. 
mysql/trunk
mysql/repos/mysql/extra-{i686,x86_64}
mysql/repos/mysql-clients/extra-{i686,x86_64}
mysql/repos/mysql-libs/extra-{i686,x86_64}
mysql-clients -> mysql
mysql-libs -> mysql

That should solve most of the trouble here.

Allan




More information about the arch-dev-public mailing list