Re: [Cucumber-linux-development] New Buildscript Format
A general purpose desktop and server Linux distribution.
Brought to you by:
z5t1
From: Scott C. <sc...@cu...> - 2018-05-11 16:36:29
|
Laura, I've been thinking about this. Here are my thoughts: 1. I'm worried that using routines for other common utilities would decrease the readability of the buildinfo files. 2. I don't think it is terribly likely that we'll need to use a different tar or other different utilities in the future. 3. In the event that #2 turns out to be wrong, we can still add a function named 'tar' that adds a wrapper around whatever version of tar we need to use to make it behave similarly enough to the old version of tar for the buildscripts to work. Something similar could be done for other utilities as well if need be. That being the case, I think the cost (#1) of adding more wrappers outweighs the benefits, especially given that needing the wrappers on Cucumber Linux is an unlikely scenario and we have another work around we can use if need be. I see how this very beneficial for the build system you are working on, but our build systems have slightly different goals: we are creating the Cucumber Linux build system to target a specific distribution whereas you are making LM BLD as portable as possible. This is a very noble goal, I just don't think it should be a goal for the Cucumber Linux project at this point in time, given our limited resources and how much else we have to do for Cucumber Linux 2.0 already. - Scott On 05/08/2018 01:39 PM, LM wrote: > Using pkgapi_strip, pkgapi_make, etc. is a good idea. You may need to > build on a system that can't handle parallel make calls or that uses a > different name for make (such as gmake on BSD). You just need to > change the buildscript file and it should work. If it I were writing > this, I'd use routines for tar and some of the other utilities as > well. > > I use a preprocessor and templates instead of functions in case I'm > dealing with a system that may not have a shell that handles functions > (like msh). I also mentioned I wanted the ability to concatenate > using the preprocessor. In my own scripts, I do things like give the > command to extract files, but also give it an extension, so it knows > whether to extract a zip file or a .tar.xz file based on using > decompress concatenated with the file extension and it generates the > appropriate code. It works similar to passing parameters to a > function. I can change between configure, autogen.sh, qmake, cmake, > cdetect or other configure utilities by specifying the type of > configure code I want generated. > > I have global locations where tools are listed so I can change them > out. I may want to use tar on a system, but I also may prefer to use > bsdtar or 7za. I also switch between options like sed or minised or > perl for search and replace based on a global setting. One needs to > regenerate the build scripts when the default tools are changed. It > does give you the freedom to use the tools you prefer or the ones you > have available on a system though. > > As to having to regenerate the build script before building a package, > I have a script that goes through a simple list of packages and runs a > series of steps on them, such as regenerate the build script using the > template system, build the program or library, install the program or > library. If I need to build a lot of packages from source, I'd rather > have the whole process automated and not have to run each script by > hand. I also have a script that goes through a list of packages and > runs the checks for each to see if the version is updated. > > I've mentioned the build system I'm working on to Scott, but if anyone > else on the list is interested, you can see some packages I'm working > on and some sample inputs (lm bld files) and outputs (bash build > scripts) for my build system here: > http://www.distasis.com/cpp/lmports.htm > I'm still making patches to packages and uploading them, so it's a > work in progress. > > I definitely like the changes to the new Cucumber buildinfo format. > I'd personally take it a step further and use functions or templates > for common tools (like tar). MXE does that with their calls to wget > and sed. > > Sincerely, > Laura > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Cucumber-linux-development mailing list > Cuc...@li... > https://lists.sourceforge.net/lists/listinfo/cucumber-linux-development |