From: Jesse Smith on 11 Jun 2010 15:29 -----Original Message----- From: Peter Pentchev <roam(a)ringlet.net> To: Greg Larkin <glarkin(a)FreeBSD.org> Cc: Jesse Smith <jessefrgsmith(a)yahoo.ca>, freebsd-ports <freebsd-ports(a)FreeBSD.org> Subject: Re: Data files and ports Date: Fri, 11 Jun 2010 17:41:45 +0300 On Fri, Jun 11, 2010 at 10:17:46AM -0400, Greg Larkin wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Jesse Smith wrote: > > I'm trying to teach myself how to build a FreeBSD port and, with a lot > > of help from the manual, it's going well. I have a question though > > concerning policy/style. > > > > I'm trying to port a program which is distributed in two separate > > packages from the upstream project. One package contains the executable > > program and the other contains data files. The Data package rarely > > changes. The idea being packaging them together would use up a lot of > > extra bandwidth. > > > > Which brings me to the question: Since the executable relies on the data > > files being in place before it's run, how should I handle that in the > > port? Should I just get the executable to install and let the user > > manually get the data files? Should I create a second port for the data > > package? Or should I find some way of making the executable's makefile > > download and unpack the data package? > > > > My instinct is to create a separate port for the Data package and list > > it as a dependency for the Executable port. I'd appreciate some > > guidance. > > > > Thanks. > > Hi Jesse, > > Welcome to the fray, and I'm glad to hear that you're learning how to > develop FreeBSD ports! > > To answer your question - your port Makefile can download multiple > distribution files from the upstream download site. For a couple of > examples, see these Makefiles: [snip] All good points, and good examples. However... :) Well, I do believe that if "the Data package rarely changes", then it would be unnecessary not only to distribute it each time as a port's source distfile, but also to include it (unchanged) in different releases of the *packages* that the port builds. Thus, IMHO it would be best to make a separate port for the data file and have the main program (port) depend on it. This would make sure that not only people who build the port "by hand" do not download the data file more often than necessary, but also the people who use packages do not download needlessly big packages for each program update with no data change. Hope that came out clear enough; I know I'm not thinking straight today. G'luck, Peter ----------------------- Thanks to everyone who replied. There were some good points made all around. Let's say that I do decide to go with the idea of making the Data files a separate port. How do I tell the Ports system not to try to build the data file and instead just install the files to a location of my choosing? Usually a project's Makefile decides what gets built and where items go, but data packages are... dumb, they're just files. My thought is to create a patch which adds a Makefile to the "work" directory after the archive is untarred, which would handle the "make" and "make install" commands. Would that be an acceptable practise? Jesse _______________________________________________ freebsd-ports(a)freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"
From: Max Brazhnikov on 11 Jun 2010 16:16 On Fri, 11 Jun 2010 16:29:18 -0300Fri, 11 Jun 2010 17:41:45 +0300, Jesse Smith wrote: > Thanks to everyone who replied. There were some good points made all > around. Let's say that I do decide to go with the idea of making the > Data files a separate port. How do I tell the Ports system not to try to > build the data file and instead just install the files to a location of > my choosing? Usually a project's Makefile decides what gets built and > where items go, but data packages are... dumb, they're just files. My > thought is to create a patch which adds a Makefile to the "work" > directory after the archive is untarred, which would handle the "make" > and "make install" commands. from bsd.port.mk: # NO_BUILD - Use a dummy (do-nothing) build target. # NO_INSTALL - Use a dummy (do-nothing) install target. COPYTREE_SHARE macro which copies the directory entire with its subtree and sets correct permissions can be useful for your port as well. Max _______________________________________________ freebsd-ports(a)freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"
From: Eitan Adler on 15 Jun 2010 10:56 On Fri, Jun 11, 2010 at 4:58 PM, Jesse Smith <jessefrgsmith(a)yahoo.ca> wrote: .... > I'm trying to port a program which is distributed in two separate > packages from the upstream project. One package contains the executable > program and the other contains data files. The Data package rarely > changes. The idea being packaging them together would use up a lot of > extra bandwidth. > .... > My instinct is to create a separate port for the Data package and list > it as a dependency for the Executable port. I'd appreciate some > guidance. > Others have already mentioned some ways for you to do this. I just want to bring to your attention the games/doom and games/doom-data ports as well as a few others % ls -d /usr/ports/*/*-data|wc -l 31 -- Eitan Adler _______________________________________________ freebsd-ports(a)freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"
First
|
Prev
|
Pages: 1 2 Prev: lang/cmucl broken on amd64? Next: portmaster: problem with --packages-build? |