[pacman-dev] makepkg creates bad .FILELIST

Dan McGee dpmcgee at gmail.com
Wed Jun 27 10:52:41 EDT 2007


On 6/27/07, Roman Kyrylych <roman.kyrylych at gmail.com> wrote:
> 2007/6/27, Dan McGee <dpmcgee at gmail.com>:
> > On 6/27/07, Andrew Fyfe <andrew at neptune-one.net> wrote:
> > > Roman Kyrylych wrote:
> > > > 2007/6/23, Andrew Fyfe <andrew at neptune-one.net>:
> > > >> This patch[1] breaks the creation of .FILELIST, directories don't end
> > > >> with / so pacman treats them as files and does conflict checks and bails
> > > >> out because /usr (or any other dir) has already been installed by
> > > >> another package.
> > > >>
> > > >> Posted a patch[2] to my ready_to_pull branch.
> > > >>
> > > >> [1]
> > > >> http://projects.archlinux.org/git/?p=pacman.git;a=commit;h=430a19c604e474e90451e6421448a04abe348e6d
> > > >> [2] http://repo.or.cz/w/pacman.git?a=shortlog;h=ready_to_pull
> > > >>
> > > >
> > > > Please remove from ready_to_pull branch and replace with:
> > > > http://bugs.archlinux.org/task/7485#comment17443
> > > >
> > >
> > > Done :)
> > >
> > > Andrew
> >
> > Apparently my comment there was missed?
> >
> > I wasn't fixing the directory issue, I was fixing the prefix issue. We
> > should stay with the old format and leave './' off of there. Your fix
> > doesn't work for that, although I'm sure we can do something to fix
> > it. We also don't want the current directory entry './'.
> >
>
> What is wrong here?
>
> [rk at server foobar]$ find * -exec ls -dp {} \; | sort
> test1/
> test1/test01
> test1/test02
> test1/test03
> test2/
> test2/.test
>
> I think you've got my first comment notification by e-mail, which was
> worng (without *), then I quickly corrected it.
>
> BTW, Andrew, you've missed sort ;-)
>
> -       find * 2>/dev/null | sort >.FILELIST
> +       find * -exec ls -dp {} \; 2>/dev/null >.FILELIST
>
> should be
> +       find * -exec ls -dp {} \; 2>/dev/null | sort >.FILELIST

Did you see how slow this is, by the way? We have to fork an ls call
for every single file in the tree. There has to be a better way. The
only thing that ls call is doing is adding a trailing slash to
directories. At this point, Andrew's solution is a whole lot faster,
and it wasn't all that bad.

-Dan




More information about the pacman-dev mailing list