Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Jun 2000 12:34:58 +0200 (CEST)
From:      Philippe CASIDY <pcasidy@worldnet.fr>
To:        freebsd-ports@freebsd.org
Subject:   fetch-list / how to get the list of required distfiles?
Message-ID:  <200006041034.MAA76604@greatoak.home>

next in thread | raw e-mail | index | archive | help
Hi!

I had a need :-)

I have installed FreeBSD 4.0-RELEASE from the cdrom and I have noticed
that all the ports were available only as packages and not as distfiles
(unless their location have changed). Some packages (at least fetchmail)
were build with some crypto libraries which are required to make it run.
I have do not have these libraries, fetchmail did not ran. Therefore, I
have installed it from distfile and I want to install everything from
distfile.
So I wanted this week-end to make my own distfiles cdrom from archives I
already had. So I needed the name of all the archives required for my
current ports tree.

First I tried 'make fetch-list'.
The problems are:
1- the output format is quite weird at a first glance.
   For instance:
===> Howto
/usr/bin/env /usr/bin/fetch -A
 ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/other-formats/sgml/Linux+FreeBSD.sgml.gz  ||echo Linux+FreeBSD.sgml.gz not fetched

 What is it useful for?

2- It only prints distfiles that are not already present. This is quite
   a normal behavior but not for what I want to do.

3- When archives are in subdirectories, fetch-list creates this
   subdirectory. This can lead to permissions problems according to the
   user and this is quite unexpected to have data written whereas only a
   list is expected.

Then, I thought that I have a need for a new target in bsd.port.mk.
I have named it distfiles-list.

pcasidy - 544> make distfiles-list
===> 221upgrade
===> 222upgrade
===> 225upgrade
===> 227upgrade
===> 30upgrade
===> 31upgrade
===> 32upgrade
===> 34upgrade
===> Howto
Howto/Linux+FreeBSD.sgml.gz
Howto/DNS-HOWTO.sgml.gz
....
and

pcasidy - 545> make distfiles-list | grep -v "===>"
Howto/Linux+FreeBSD.sgml.gz
Howto/DNS-HOWTO.sgml.gz
Howto/NFS-HOWTO.sgml.gz
....

This is what I wanted, I also removed the creation of the directory in
the distfiles directory.
So now with a simple script, I can build a list of necessary/unnecessary
archives.
But I have two problems
1- make purely exit on error if a port requires OpenSSL and
   /usr/lib/libcryto.so does not exist.
   Is that an expected behavior? Even with the fecth-list target the
   problem occurs.

2- some ports like misc/mmv try tro create a directory whereas I did
   not want anything to be installed!

   ===> mmv
   mmv/part01.Z
   mmv/part02.Z
   cd: can't cd to /usr/ports/distfiles/mmv
   *** Error code 2

   Stop in /usr/ports/misc/mmv.
   *** Error code 1

   Stop in /usr/ports/misc.

   Is there something that can be done to solve this rather than
   creating the directory /usr/ports/distfiles/mmv ?


I was wondering how people at freebsd.org do to check the distfiles they
have?

I was also wondering how to generate list while taking into account the
fact that some archives cannot be put on cdroms?

I have asked several questions and I thank you to have read this mail so
far ;-)

I hope that most of them may lead to insteresting answers. I can (will
try to) provide PR for this problems if you ask me to and I can also
give my modifications to the makefiles (they are not very complicated)
if people get interested in this target.

Now I am getting more confident how ports work, I hope to find new
software that I can port myself :)

Thanks!

Phil.




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200006041034.MAA76604>