* [Buildroot] Easier adding of new packages / alsa-lib & utils @ 2007-06-07 13:29 Benjamin Tietz 2007-06-08 6:22 ` Ulf Samuelsson 2007-06-08 17:50 ` Benjamin Tietz 0 siblings, 2 replies; 8+ messages in thread From: Benjamin Tietz @ 2007-06-07 13:29 UTC (permalink / raw) To: buildroot Hi, the attachment contains two patches. The first one will rapidly shorten the Makefile to add a new package to the buildroot (at least for most packages), while being fully compatible to the standard way used up to now. While the Config.in follows the same rules, the Makefile for the new package provides only the NEEDED information to add the package. Let see on an example (Its nearly the same included in the second patch): ############################################################# # # alsa libraries # ############################################################# ALSA_VERSION:=1.0.13 ALSA_SITE:=ftp://ftp.alsa-project.org/pub ALSA_LIB_FILE:=alsa-lib-$(ALSA_VERSION).tar.bz2 ALSA_LIB_SITE:=$(ALSA_SITE)/lib/$(ALSA_LIB_FILE) alsa-lib: $(DL_DIR)/$(ALSA_LIB_FILE) $(BUILD_DIR)/alsa-lib-$(ALSA_VERSION)/.libs ifeq ($(BR2_PACKAGE_ALSA_LIB),y) TARGETS+=alsa-lib endif the interesting thing is the line starting with alsa-lib: This rule depends first on the downloaded source file and second on a file called .libs in the source-directory. Over a chain of implicit rules this means the Source-file will fetched from the address in $(ALSA_LIB_SITE) than automaticly unpacked, patched (if configured even config.sub and config.guess are updated), compiled, installed and - as this is a library - prepared for further use by the buildroot. (exactly the lib will be installed a second time into the staging dir, while the headers will be deleted from the rootfs). Other targets are: $(PACKAGE_BUILD_DIR)/.unpacked $(PACKAGE_BUILD_DIR)/.patched $(PACKAGE_BUILD_DIR)/.configured $(PACKAGE_BUILD_DIR)/.build $(PACKAGE_BUILD_DIR)/.installed (for normal programs, also done by .libs) $(PACKAGE_BUILD_DIR)/.libs They all are chained along so picking up the one you like to go along with will do the thing. To get even more packages to work with, you can also give some options to make and configure: $(PACKAGE_CONF_ENV) will take environment varaibles for configure $(PACKAGE_CONF_OPT) takes Options passed to configure $(PACKAGE_MAKE_ENV) and $(PACKAGE_MAKE_OPT) do the same for the make-runs. If you just want to bypass or change some particular steps you only create a rule in your Makefile like $(PACKAGE_BUILD_DIR)/.configured: $(PACKAGE_BUILD_DIR)/.patched touch $@ Which will simply bypass the step of configuration, eg because your package can't be configured by using a script. Adding some code below that line will run it. But only this! The Second patch is mostly an example (Thats way they come along in one Mail) integrating the ALSA-libs and utils. (Most notably a mixer to adjust the volume of your soundcard) best regards Benjamin -------------- next part -------------- A non-text attachment was scrubbed... Name: autotools.patch Type: text/x-diff Size: 4650 bytes Desc: autotools.patch Url : http://busybox.net/lists/buildroot/attachments/20070607/725f1215/attachment-0002.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: alsa.patch Type: text/x-diff Size: 4796 bytes Desc: alsa.patch Url : http://busybox.net/lists/buildroot/attachments/20070607/725f1215/attachment-0003.bin ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Easier adding of new packages / alsa-lib & utils 2007-06-07 13:29 [Buildroot] Easier adding of new packages / alsa-lib & utils Benjamin Tietz @ 2007-06-08 6:22 ` Ulf Samuelsson 2007-06-08 17:47 ` Benjamin Tietz 2007-06-09 19:53 ` [Buildroot] Easier adding of new packages / alsa-lib & utils Thomas Lundquist 2007-06-08 17:50 ` Benjamin Tietz 1 sibling, 2 replies; 8+ messages in thread From: Ulf Samuelsson @ 2007-06-08 6:22 UTC (permalink / raw) To: buildroot > Hi, > > the attachment contains two patches. The first one will rapidly shorten > the Makefile to add a new package to the buildroot (at least for most > packages), while being fully compatible to the standard way used up to > now. As I see it we lack two things in the build. 1) Ability to use backup sites if the main site is temporarily or permanently down. 2) Handling of distributions. I.E. ability to specify which package version you want to build in a way which is separated from the package build script. 3) Ability to generate binary packages which can be added/removed from the root fs. Any chance of looking into this? An alternative to this patch could be to use the OpenWRT build script which does (1) and (3) above. OpenWRT seems to be a split from buildroot. Is there a heated history here? > While the Config.in follows the same rules, the Makefile for the new > package provides only the NEEDED information to add the package. Let see > on an example (Its nearly the same included in the second patch): > Best Regards Ulf Samuelsson ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Easier adding of new packages / alsa-lib & utils 2007-06-08 6:22 ` Ulf Samuelsson @ 2007-06-08 17:47 ` Benjamin Tietz 2007-06-09 7:53 ` Ulf Samuelsson 2007-06-09 19:53 ` [Buildroot] Easier adding of new packages / alsa-lib & utils Thomas Lundquist 1 sibling, 1 reply; 8+ messages in thread From: Benjamin Tietz @ 2007-06-08 17:47 UTC (permalink / raw) To: buildroot To 1) The main problem, I think, is that somebody has to maintain these backup-addresses or to provide a backup-server containing all possibly needed files. The rest of the problem is easy, as it can be solved either by a scipt wrapping wget or by a File-downloading-rule caring about backup-locations To 2) This is a more difficult problem since you have to give the user a chance to specify all supported versions. If you want to integrate it into the current configuration-process you would have to specify a field or list for every single package - Leaving the user alone with the decision of hundred of different versions. According to the introduction, we would have enough up to here :) To 3) You have something like this, even if it could be improved. If you "make package" the first time you build and install the package. If you afterwards do "make package-clean" you remove it from the rootfs. Doing "make package" again installs the stuff... best regards On Fri, Jun 08, 2007 at 08:22:26AM +0200, Ulf Samuelsson wrote: > > Hi, > > > > the attachment contains two patches. The first one will rapidly shorten > > the Makefile to add a new package to the buildroot (at least for most > > packages), while being fully compatible to the standard way used up to > > now. > > As I see it we lack two things in the build. > 1) Ability to use backup sites if the main site is temporarily or permanently down. > 2) Handling of distributions. I.E. ability to specify which package version you > want to build in a way which is separated from the package build script. > 3) Ability to generate binary packages which can be added/removed from > the root fs. > > Any chance of looking into this? > An alternative to this patch could be to use the OpenWRT build script > which does (1) and (3) above. > > OpenWRT seems to be a split from buildroot. > Is there a heated history here? > > > While the Config.in follows the same rules, the Makefile for the new > > package provides only the NEEDED information to add the package. Let see > > on an example (Its nearly the same included in the second patch): > > > > > Best Regards > Ulf Samuelsson > ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Easier adding of new packages / alsa-lib & utils 2007-06-08 17:47 ` Benjamin Tietz @ 2007-06-09 7:53 ` Ulf Samuelsson 2007-06-09 12:12 ` Benjamin Tietz 0 siblings, 1 reply; 8+ messages in thread From: Ulf Samuelsson @ 2007-06-09 7:53 UTC (permalink / raw) To: buildroot >> As I see it we lack three things in the build. >> 1) Ability to use backup sites if the main site is temporarily or permanently down. > To 1) The main problem, I think, is that somebody has to maintain these > backup-addresses or to provide a backup-server containing all possibly > needed files. The rest of the problem is easy, as it can be solved > either by a scipt wrapping wget or by a File-downloading-rule caring > about backup-locations > I think buildroot should contain the mechanism to do it, and the user should be able to provide a backup server location. I have seen discussions where the conclusion is that if someone wants to be compliant with GPL, then they need to provide the source for everything, so everyone using buildroot in products needs to provide their own backup server. >> 2) Handling of distributions. I.E. ability to specify which package version you >> want to build in a way which is separated from the package build script. > To 2) This is a more difficult problem since you have to give the user a > chance to specify all supported versions. If you want to integrate it > into the current configuration-process you would have to specify a field > or list for every single package - Leaving the user alone with the > decision of hundred of different versions. As I envision the mechanism, you should be able to generate a file containing all the current versions using a simple command. I.E: make distrib Each package makefile fragment would contain. <package>-distrib: echo <package>_VER >> .distrib --------------- The Config.in should have a configuration string which, if not empty, the file, with the filename in the string should be included by Makefile in the beginning. --------------- The makefile fragment in each package should test if <package>_VER is defined, and if not, it should define it. Alternatively, you always have a configuration file containing the version info and you either use this or you use your own, I see the use of this functionality as a help for newbies, where people with more experience select the package versions and create a distribution which are then used by people less experience., > > According to the introduction, we would have enough up to here :) > >> 3) Ability to generate binary packages which can be added/removed from >> the root fs. >> > To 3) You have something like this, even if it could be improved. If you > "make package" the first time you build and install the package. If you > afterwards do "make package-clean" you remove it from the rootfs. Doing > "make package" again installs the stuff... > But it requires that you have access to the package compile tree which is sometimes undesirable. Best Regards Ulf Samuelsson ulf at atmel.com Atmel Nordic AB Mail: Box 2033, 174 02 Sundbyberg, Sweden Visit: Kavalleriv?gen 24, 174 58 Sundbyberg, Sweden Phone +46 (8) 441 54 22 Fax +46 (8) 441 54 29 GSM +46 (706) 22 44 57 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Easier adding of new packages / alsa-lib & utils 2007-06-09 7:53 ` Ulf Samuelsson @ 2007-06-09 12:12 ` Benjamin Tietz 2007-06-09 13:32 ` [Buildroot] Easier adding of new packages / Distribution Benjamin Tietz 0 siblings, 1 reply; 8+ messages in thread From: Benjamin Tietz @ 2007-06-09 12:12 UTC (permalink / raw) To: buildroot On Sat, Jun 09, 2007 at 09:53:01AM +0200, Ulf Samuelsson wrote: > >> As I see it we lack three things in the build. > >> 1) Ability to use backup sites if the main site is temporarily or permanently down. > > To 1) The main problem, I think, is that somebody has to maintain these > > backup-addresses or to provide a backup-server containing all possibly > > needed files. The rest of the problem is easy, as it can be solved > > either by a scipt wrapping wget or by a File-downloading-rule caring > > about backup-locations > > > > I think buildroot should contain the mechanism to do it, > and the user should be able to provide a backup server location. > I have seen discussions where the conclusion is that if someone > wants to be compliant with GPL, then they need to provide the source > for everything, so everyone using buildroot in products > needs to provide their own backup server. To implement the mechanism isn't the problem. The problem is to maintain either the backup-server or the backup-locations. For the first case you have to find also a solution to the problem, who is allowed to place new package-sources there. If everybody can write, the serverspace will be abused very soon. If not everybody, but only a few people, can write there, then how will new packages find their way to this location, especially when maintained by other people. under http://buildroot.uclibc.org/downloads/buildroot-sources/ you even can find such a backup-directory. The last update was on Jan 11 2005. > > > >> 2) Handling of distributions. I.E. ability to specify which package version you > >> want to build in a way which is separated from the package build script. > > To 2) This is a more difficult problem since you have to give the user a > > chance to specify all supported versions. If you want to integrate it > > into the current configuration-process you would have to specify a field > > or list for every single package - Leaving the user alone with the > > decision of hundred of different versions. > > As I envision the mechanism, you should be able to generate a file containing > all the current versions using a simple command. > > I.E: make distrib > > Each package makefile fragment would contain. > > <package>-distrib: > echo <package>_VER >> .distrib > --------------- > > The Config.in should have a configuration string which, if not empty, > the file, with the filename in the string should be included by Makefile > in the beginning. > > --------------- > The makefile fragment in each package should test if > <package>_VER is defined, and if not, it should define it. > That would be possible... But remember, that for such an distributional package you only should save the versions of the software _in use_. Maybe in some days I could send a real solution > > Alternatively, you always have a configuration file containing the version info > and you either use this or you use your own, > > I see the use of this functionality as a help for newbies, where people with more > experience select the package versions and create a distribution which are then used > by people less experience., > > > > > According to the introduction, we would have enough up to here :) > > > > >> 3) Ability to generate binary packages which can be added/removed from > >> the root fs. > >> > > To 3) You have something like this, even if it could be improved. If you > > "make package" the first time you build and install the package. If you > > afterwards do "make package-clean" you remove it from the rootfs. Doing > > "make package" again installs the stuff... > > > > But it requires that you have access to the package compile tree which is sometimes undesirable. > I think, I've understand your problem... Let me think about > > > Best Regards > Ulf Samuelsson ulf at atmel.com > Atmel Nordic AB > Mail: Box 2033, 174 02 Sundbyberg, Sweden > Visit: Kavalleriv?gen 24, 174 58 Sundbyberg, Sweden > Phone +46 (8) 441 54 22 Fax +46 (8) 441 54 29 > GSM +46 (706) 22 44 57 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Easier adding of new packages / Distribution 2007-06-09 12:12 ` Benjamin Tietz @ 2007-06-09 13:32 ` Benjamin Tietz 0 siblings, 0 replies; 8+ messages in thread From: Benjamin Tietz @ 2007-06-09 13:32 UTC (permalink / raw) To: buildroot On Sat, Jun 09, 2007 at 02:12:25PM +0200, Benjamin Tietz wrote: > On Sat, Jun 09, 2007 at 09:53:01AM +0200, Ulf Samuelsson wrote: > > > > > > >> 2) Handling of distributions. I.E. ability to specify which package version you > > >> want to build in a way which is separated from the package build script. > > > To 2) This is a more difficult problem since you have to give the user a > > > chance to specify all supported versions. If you want to integrate it > > > into the current configuration-process you would have to specify a field > > > or list for every single package - Leaving the user alone with the > > > decision of hundred of different versions. > > > > As I envision the mechanism, you should be able to generate a file containing > > all the current versions using a simple command. > > > > I.E: make distrib > > > > Each package makefile fragment would contain. > > > > <package>-distrib: > > echo <package>_VER >> .distrib > > --------------- > > > > The Config.in should have a configuration string which, if not empty, > > the file, with the filename in the string should be included by Makefile > > in the beginning. > > > > --------------- > > The makefile fragment in each package should test if > > <package>_VER is defined, and if not, it should define it. > > > > That would be possible... But remember, that for such an distributional > package you only should save the versions of the software _in use_. > Maybe in some days I could send a real solution > > > > > Alternatively, you always have a configuration file containing the version info > > and you either use this or you use your own, > > > > I see the use of this functionality as a help for newbies, where people with more > > experience select the package versions and create a distribution which are then used > > by people less experience., Just to have a point to start with... the following patch There is now a Configuration option for an distributional file (which silently will overwrite possibly different settings from the .config-file) To create such an file, just "make distribution" up to now there are some caveats: Not all packages have an variable PACKAGE_VERSION, on the other hand there are some packages - especially the toolchain - which aren't enabled by BR2_PACKAGE_PACKAGE. But these are the assumptions made by the standard rule. So all these packages need a special ...-distrib rule or should be modified to fit. best regards Benjamin -------------- next part -------------- A non-text attachment was scrubbed... Name: distrib.patch Type: text/x-diff Size: 3111 bytes Desc: distrib.patch Url : http://busybox.net/lists/buildroot/attachments/20070609/24d85bf2/attachment.bin ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Easier adding of new packages / alsa-lib & utils 2007-06-08 6:22 ` Ulf Samuelsson 2007-06-08 17:47 ` Benjamin Tietz @ 2007-06-09 19:53 ` Thomas Lundquist 1 sibling, 0 replies; 8+ messages in thread From: Thomas Lundquist @ 2007-06-09 19:53 UTC (permalink / raw) To: buildroot On Fri, Jun 08, 2007 at 08:22:26AM +0200, Ulf Samuelsson wrote: > 3) Ability to generate binary packages which can be added/removed from > the root fs. I have this ready, both .deb and ipkgs (none of'em with all the versioning, descriptiuon md5 and so on, yet) but haven't had time to wrap up a good patch. Thomas. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Easier adding of new packages / alsa-lib & utils 2007-06-07 13:29 [Buildroot] Easier adding of new packages / alsa-lib & utils Benjamin Tietz 2007-06-08 6:22 ` Ulf Samuelsson @ 2007-06-08 17:50 ` Benjamin Tietz 1 sibling, 0 replies; 8+ messages in thread From: Benjamin Tietz @ 2007-06-08 17:50 UTC (permalink / raw) To: buildroot As I forgot to say: the PACKAGE in all of the variables is computed from the name of the build-dir - dropping the version-number, and setting the result uppercase while converting '-' to '_'. The package-directory (under /package) should be called the same way, (without case-changing or '-'-conversation) otherwise no patches would be found. Benjamin On Thu, Jun 07, 2007 at 03:29:45PM +0200, Benjamin Tietz wrote: > Hi, > > the attachment contains two patches. The first one will rapidly shorten > the Makefile to add a new package to the buildroot (at least for most > packages), while being fully compatible to the standard way used up to > now. > While the Config.in follows the same rules, the Makefile for the new > package provides only the NEEDED information to add the package. Let see > on an example (Its nearly the same included in the second patch): > > ############################################################# > # > # alsa libraries > # > ############################################################# > ALSA_VERSION:=1.0.13 > ALSA_SITE:=ftp://ftp.alsa-project.org/pub > ALSA_LIB_FILE:=alsa-lib-$(ALSA_VERSION).tar.bz2 > ALSA_LIB_SITE:=$(ALSA_SITE)/lib/$(ALSA_LIB_FILE) > > alsa-lib: $(DL_DIR)/$(ALSA_LIB_FILE) $(BUILD_DIR)/alsa-lib-$(ALSA_VERSION)/.libs > > ifeq ($(BR2_PACKAGE_ALSA_LIB),y) > TARGETS+=alsa-lib > endif > > the interesting thing is the line starting with alsa-lib: > This rule depends first on the downloaded source file and second on a > file called .libs in the source-directory. Over a chain of implicit > rules this means the Source-file will fetched from the address in > $(ALSA_LIB_SITE) than automaticly unpacked, patched (if configured even > config.sub and config.guess are updated), compiled, installed and - as > this is a library - prepared for further use by the buildroot. (exactly > the lib will be installed a second time into the staging dir, while the > headers will be deleted from the rootfs). > > Other targets are: > $(PACKAGE_BUILD_DIR)/.unpacked > $(PACKAGE_BUILD_DIR)/.patched > $(PACKAGE_BUILD_DIR)/.configured > $(PACKAGE_BUILD_DIR)/.build > $(PACKAGE_BUILD_DIR)/.installed (for normal programs, also done by .libs) > $(PACKAGE_BUILD_DIR)/.libs > > They all are chained along so picking up the one you like to go along > with will do the thing. > To get even more packages to work with, you can also give some options > to make and configure: > > $(PACKAGE_CONF_ENV) will take environment varaibles for configure > $(PACKAGE_CONF_OPT) takes Options passed to configure > $(PACKAGE_MAKE_ENV) and > $(PACKAGE_MAKE_OPT) do the same for the make-runs. > > If you just want to bypass or change some particular steps you only > create a rule in your Makefile like > > $(PACKAGE_BUILD_DIR)/.configured: $(PACKAGE_BUILD_DIR)/.patched > touch $@ > > Which will simply bypass the step of configuration, eg because your > package can't be configured by using a script. > Adding some code below that line will run it. But only this! > > > The Second patch is mostly an example (Thats way they come along in one > Mail) integrating the ALSA-libs and utils. (Most notably a mixer to > adjust the volume of your soundcard) > > best regards > > Benjamin Content-Description: autotools.patch > diff -Naur buildroot/Config.in buildroot.patched/Config.in > --- buildroot/Config.in 2007-06-02 09:15:28.000000000 +0200 > +++ buildroot.patched/Config.in 2007-06-04 21:41:31.000000000 +0200 > @@ -208,6 +208,8 @@ > > menu "Build options" > > +source package/gnuconfig/Config.in > + > config BR2_WGET > string "Wget command" > default "wget --passive-ftp -nd" > diff -Naur buildroot/package/Makefile.autotools.in buildroot.patched/package/Makefile.autotools.in > --- buildroot/package/Makefile.autotools.in 1970-01-01 01:00:00.000000000 +0100 > +++ buildroot.patched/package/Makefile.autotools.in 2007-06-07 14:10:00.000000000 +0200 > @@ -0,0 +1,89 @@ > +################################################################## > +# > +# Implicit Rules for easy creating autotools-compatible packages > +# > +################################################################## > + > +# Macros for Variable and programmname-generation > +VAR=$(shell echo $(call MYNAME,$(1)) | $(firstword $(SED)) -e 'y/abcdefghijklmnopqrstuvwxyz-./ABCDEFGHIJKLMNOPQRSTUVWXYZ__/') > +MYNAME=$(shell echo $(call MYNAMEVER,$(1)) | $(firstword $(SED)) -e 's/\([-._][0-9][0-9]*\)*$$//') > +MYVER=$(shell echo $(call MYNAMEVER,$(1)) | $(firstword $(SED)) -e 's/\([^0-9]*-\)*//') > +MYNAMEVER=$(notdir $(patsubst %.tar,%,$(patsubst %/,%,$(basename $(1))))) > + > +# Generic File retrievel Target > +$(DL_DIR)/%: > + @$(WGET) -P $(DL_DIR) $$([ "$($(call VAR,$@)_SITE)" ] && echo $($(call VAR,$@)_SITE) || echo http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/$(firstword $(subst -, ,$@))/$@) > + > +# Unpacking the archive > +$(BUILD_DIR)/%/.unpacked: $(DL_DIR)/%.tgz > +$(BUILD_DIR)/%/.unpacked: $(DL_DIR)/%.tar.gz > + $(ZCAT) $< | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - > + @touch $@ > + > +$(BUILD_DIR)/%/.unpacked: $(DL_DIR)/%.tar.bz2 > + $(BZCAT) $< | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - > + @touch $@ > + > +$(BUILD_DIR)/%/.unpacked: $(DL_DIR)/%.tar > + tar -C $(BUILD_DIR) $(TAR_OPTIONS) $< > + @touch $@ > + > +# Patching > +$(BUILD_DIR)/%/.patched: $(BUILD_DIR)/%/.unpacked > + @(if [ -d package/$(call MYNAME,$<)]; then \ > + if [ "$(wildcard package/$(call MYNAME,$@)/$**.patch)" ]; then \ > + toolchain/patch-kernel.sh $(@D) package/$(call MYNAME,$<) $*\*.patch; \ > + else \ > + toolchain/patch-kernel.sh $(@D) package/$(call MYNAME,$<) $(call MYNAME,$<)\*.patch; \ > + [ -d package/$(call MYNAME,$<)/$* ] && \ > + toolchain/patch-kernel.sh $(@D) package/$(call MYNAME,$<)/$* \*.patch; \ > + fi;\ > + fi) > +ifeq ($(BR2_UPDATE_CONFIG),y) > + @(for file in config.guess config.sub; do\ > + for i in $$(find $(@D) -name $$file); do \ > + cp package/gnuconfig/$$file $$i; \ > + done;\ > + done) > +endif > + @touch $@ > + > +# Configuring > +$(BUILD_DIR)/%/.configured: $(BUILD_DIR)/%/.patched > + (cd $(@D); \ > + $(TARGET_CONFIGURE_OPTS) \ > + CFLAGS="$(TARGET_CFLAGS)" \ > + LDFLAGS="$(TARGET_LDFLAGS)" \ > + $($(call VAR,$@)_CONF_ENV) \ > + ./configure \ > + --target=$(GNU_TARGET_NAME) \ > + --host=$(GNU_TARGET_NAME) \ > + --build=$(GNU_HOST_NAME) \ > + --prefix=/usr \ > + --sysconfdir=/etc \ > + $($(call VAR,$@)_CONF_OPT) \ > + ); > + touch $@; > + > +# Building > +$(BUILD_DIR)/%/.build: $(BUILD_DIR)/%/.configured > + $($(call VAR,$@)_MAKE_ENV) $(MAKE) $($(call VAR,$@)_MAKE_OPT) -C $(@D) > + touch $@ > + > +$(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.build > + $($(call VAR,$@)_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) $($(call VAR,$@)_MAKE_OPT) -C $(@D) install > + rm -Rf $(TARGET_DIR)/usr/man > + touch $@ > + > +$(BUILD_DIR)/%/.libs: $(BUILD_DIR)/%/.installed > + $($(call VAR,$@)_MAKE_ENV) $(MAKE) DESTDIR=$(STAGING_DIR) $($(call VAR,$@)_MAKE_OPT) -C $(@D) install > + rm -Rf $(STAGING_DIR)/man $(TARGET_DIR)/usr/include > + touch $@ > + > +$(BUILD_DIR)/%/.clean: > + $($(call VAR,$@)_MAKE_ENV) $(MAKE) DESTDIR=$(STAGING_DIR) $($(call VAR,$@)_MAKE_OPT) -C $(@D) uninstall > + -$(MAKE) -C $(@D) clean > + > +$(BUILD_DIR)/%/.dirclean: > + rm -Rf $(@D) > + > diff -Naur buildroot/package/Makefile.in buildroot.patched/package/Makefile.in > --- buildroot/package/Makefile.in 2007-06-02 09:15:28.000000000 +0200 > +++ buildroot.patched/package/Makefile.in 2007-06-07 13:47:41.000000000 +0200 > @@ -143,3 +143,5 @@ > XSERVER+=xggi > endif > > +include package/Makefile.autotools.in > + > diff -Naur buildroot/package/gnuconfig/Config.in buildroot.patched/package/gnuconfig/Config.in > --- buildroot/package/gnuconfig/Config.in 1970-01-01 01:00:00.000000000 +0100 > +++ buildroot.patched/package/gnuconfig/Config.in 2007-06-04 20:57:30.000000000 +0200 > @@ -0,0 +1,8 @@ > +config BR2_UPDATE_CONFIG > + bool "update config.sub and config.guess" > + default n > + help > + This just exists to easily update the config.sub / config.guess > + files in packages to the latest version (since many bundled ones > + don't support the latest possible targets) > + Content-Description: alsa.patch > diff -Naur buildroot/package/Config.in buildroot.patched/package/Config.in > --- buildroot/package/Config.in 2007-06-02 09:15:28.000000000 +0200 > +++ buildroot.patched/package/Config.in 2007-06-02 20:14:37.000000000 +0200 > @@ -245,6 +245,7 @@ > source "package/libsndfile/Config.in" > source "package/madplay/Config.in" > source "package/mpg123/Config.in" > +source "package/alsa/Config.in" > endif > > menuconfig BR2_GRAPHIC_SUPPORT > diff -Naur buildroot/package/alsa/alsa.mk buildroot.patched/package/alsa/alsa.mk > --- buildroot/package/alsa/alsa.mk 1970-01-01 01:00:00.000000000 +0100 > +++ buildroot.patched/package/alsa/alsa.mk 2007-06-07 13:50:13.000000000 +0200 > @@ -0,0 +1,7 @@ > +############################################################# > +# > +# alsa > +# > +############################################################# > +ALSA_VERSION:=1.0.13 > +ALSA_SITE:=ftp://ftp.alsa-project.org/pub > diff -Naur buildroot/package/alsa/Config.in buildroot.patched/package/alsa/Config.in > --- buildroot/package/alsa/Config.in 1970-01-01 01:00:00.000000000 +0100 > +++ buildroot.patched/package/alsa/Config.in 2007-06-07 13:50:13.000000000 +0200 > @@ -0,0 +1,13 @@ > +menuconfig BR2_PACKAGE_ALSA > + bool "ALSA" > + default n > + help > + Using the Advanced Linux Sound Architecture > + > +if BR2_PACKAGE_ALSA > +source package/alsa-lib/Config.in > +source package/alsa-utils/Config.in > +endif > diff -Naur buildroot/package/alsa-lib/Config.in buildroot.patched/package/alsa-lib/Config.in > --- buildroot/package/alsa-lib/Config.in 1970-01-01 01:00:00.000000000 +0100 > +++ buildroot.patched/package/alsa-lib/Config.in 2007-05-28 14:22:40.000000000 +0200 > @@ -0,0 +1,5 @@ > +config BR2_PACKAGE_ALSA_LIB > + bool "ALSA library" > + default n > + help > + The ALSA library with the standard plugins > diff -Naur buildroot/package/alsa-lib/lib.mk buildroot.patched/package/alsa-lib/lib.mk > --- buildroot/package/alsa-lib/lib.mk 1970-01-01 01:00:00.000000000 +0100 > +++ buildroot.patched/package/alsa-lib/lib.mk 2007-06-07 13:50:13.000000000 +0200 > @@ -0,0 +1,9 @@ > +ALSA_LIB_FILE:=alsa-lib-$(ALSA_VERSION).tar.bz2 > +ALSA_LIB_SITE:=$(ALSA_SITE)/lib/$(ALSA_LIB_FILE) > + > +alsa-lib: $(DL_DIR)/$(ALSA_LIB_FILE) $(BUILD_DIR)/alsa-lib-$(ALSA_VERSION)/.libs > + > +ifeq ($(BR2_PACKAGE_ALSA_LIB),y) > +TARGETS+=alsa-lib > +endif > + > diff -Naur buildroot/package/alsa-utils/alsa-utils-1.0.13-gettext.patch buildroot.patched/package/alsa-utils/alsa-utils-1.0.13-gettext.patch > --- buildroot/package/alsa-utils/alsa-utils-1.0.13-gettext.patch 1970-01-01 01:00:00.000000000 +0100 > +++ buildroot.patched/package/alsa-utils/alsa-utils-1.0.13-gettext.patch 2007-06-07 13:40:27.000000000 +0200 > @@ -0,0 +1,21 @@ > +diff -Naur alsa-utils-1.0.13/seq/aseqnet/Makefile.am alsa-utils-1.0.13.patched/seq/aseqnet/Makefile.am > +--- alsa-utils-1.0.13/seq/aseqnet/Makefile.am 2006-09-29 13:53:26.000000000 +0200 > ++++ alsa-utils-1.0.13.patched/seq/aseqnet/Makefile.am 2007-06-07 13:36:47.000000000 +0200 > +@@ -1,5 +1,6 @@ > + INCLUDES = -I$(top_srcdir)/include > + EXTRA_DIST = README.aseqnet aseqnet.1 > ++LDFLAGS = -lintl > + > + bin_PROGRAMS = aseqnet > + aseqnet_SOURCES = aseqnet.c > +diff -Naur alsa-utils-1.0.13/seq/aseqnet/Makefile.in alsa-utils-1.0.13.patched/seq/aseqnet/Makefile.in > +--- alsa-utils-1.0.13/seq/aseqnet/Makefile.in 2006-09-29 13:54:52.000000000 +0200 > ++++ alsa-utils-1.0.13.patched/seq/aseqnet/Makefile.in 2007-06-07 13:36:47.000000000 +0200 > +@@ -107,6 +107,7 @@ > + INTLLIBS = @INTLLIBS@ > + INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ > + LDFLAGS = @LDFLAGS@ > ++AM_LDFLAGS = -lintl > + LIBICONV = @LIBICONV@ > + LIBINTL = @LIBINTL@ > + LIBOBJS = @LIBOBJS@ > diff -Naur buildroot/package/alsa-utils/Config.in buildroot.patched/package/alsa-utils/Config.in > --- buildroot/package/alsa-utils/Config.in 1970-01-01 01:00:00.000000000 +0100 > +++ buildroot.patched/package/alsa-utils/Config.in 2007-05-25 22:10:46.000000000 +0200 > @@ -0,0 +1,12 @@ > +config BR2_PACKAGE_ALSA_UTILS > + bool "ALSA utils" > + default n > + help > + Tools for configuring and using ALSA > + > + amixer: command line mixer > + alsamixer: curses mixer > + amidi: read from and write to ALSA RawMIDI ports > + aplay, arecord: command line playback and recording > + aplaymidi, arecordmidi: command line MIDI playback and recording > + aconnect, aseqnet, aseqdump: command line MIDI sequencer control > diff -Naur buildroot/package/alsa-utils/utils.mk buildroot.patched/package/alsa-utils/utils.mk > --- buildroot/package/alsa-utils/utils.mk 1970-01-01 01:00:00.000000000 +0100 > +++ buildroot.patched/package/alsa-utils/utils.mk 2007-06-07 12:13:50.000000000 +0200 > @@ -0,0 +1,9 @@ > +ALSA_UTILS_FILE:=alsa-utils-$(ALSA_VERSION).tar.bz2 > +ALSA_UTILS_SITE:=$(ALSA_SITE)/utils/$(ALSA_UTILS_FILE) > + > +alsa-utils: ncurses gettext alsa-lib $(DL_DIR)/$(ALSA_UTILS_FILE) $(BUILD_DIR)/alsa-utils-$(ALSA_VERSION)/.installed > + > +ifeq ($(BR2_PACKAGE_ALSA_UTILS),y) > +ALSA_TARGETS+=alsa-utils > +endif > + > _______________________________________________ > buildroot mailing list > buildroot at uclibc.org > http://busybox.net/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-06-09 19:53 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-06-07 13:29 [Buildroot] Easier adding of new packages / alsa-lib & utils Benjamin Tietz 2007-06-08 6:22 ` Ulf Samuelsson 2007-06-08 17:47 ` Benjamin Tietz 2007-06-09 7:53 ` Ulf Samuelsson 2007-06-09 12:12 ` Benjamin Tietz 2007-06-09 13:32 ` [Buildroot] Easier adding of new packages / Distribution Benjamin Tietz 2007-06-09 19:53 ` [Buildroot] Easier adding of new packages / alsa-lib & utils Thomas Lundquist 2007-06-08 17:50 ` Benjamin Tietz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox