From patchwork Fri Nov 7 00:20:56 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geoff Levand X-Patchwork-Id: 7631 X-Patchwork-Delegate: jk@ozlabs.org Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [127.0.0.1]) by ozlabs.org (Postfix) with ESMTP id 90A16DE147 for ; Fri, 7 Nov 2008 11:22:55 +1100 (EST) X-Original-To: cbe-oss-dev@ozlabs.org Delivered-To: cbe-oss-dev@ozlabs.org Received: from VA3EHSOBE006.bigfish.com (outbound-va3.frontbridge.com [216.32.180.16]) by ozlabs.org (Postfix) with ESMTP id 2D082DDED3; Fri, 7 Nov 2008 11:22:21 +1100 (EST) Received: from mail220-va3-R.bigfish.com (10.7.14.251) by VA3EHSOBE006.bigfish.com (10.7.40.26) with Microsoft SMTP Server id 8.1.291.1; Fri, 7 Nov 2008 00:22:13 +0000 Received: from mail220-va3 (localhost.localdomain [127.0.0.1]) by mail220-va3-R.bigfish.com (Postfix) with ESMTP id A3EF1A3886C; Fri, 7 Nov 2008 00:22:13 +0000 (UTC) X-BigFish: VPS-16(zz936eQ18c1K655Oc8kzzzzz2fh6bh64h) X-Spam-TCS-SCL: 3:0 X-FB-SS: 5, Received: by mail220-va3 (MessageSwitch) id 1226017328236646_10825; Fri, 7 Nov 2008 00:22:08 +0000 (UCT) Received: from mail8.fw-bc.sony.com (mail8.fw-bc.sony.com [160.33.98.75]) by mail220-va3.bigfish.com (Postfix) with ESMTP id 22C081A8064; Fri, 7 Nov 2008 00:22:08 +0000 (UTC) Received: from mail3.sjc.in.sel.sony.com (mail3.sjc.in.sel.sony.com [43.134.1.211]) by mail8.fw-bc.sony.com (8.14.2/8.14.2) with ESMTP id mA70M7lo007965; Fri, 7 Nov 2008 00:22:07 GMT Received: from ussdixhub21.spe.sony.com (ussdixhub21.spe.sony.com [43.130.141.76]) by mail3.sjc.in.sel.sony.com (8.12.11/8.12.11) with ESMTP id mA70M7So000566; Fri, 7 Nov 2008 00:22:07 GMT Received: from USSDIXRG02.am.sony.com (43.130.140.32) by ussdixhub21.spe.sony.com (43.130.141.76) with Microsoft SMTP Server id 8.1.291.1; Thu, 6 Nov 2008 16:22:06 -0800 Received: from ussdixms03.am.sony.com ([43.130.140.23]) by USSDIXRG02.am.sony.com with Microsoft SMTPSVC(5.0.2195.6713); Thu, 6 Nov 2008 16:22:06 -0800 Received: from [192.168.1.10] ([43.135.148.226]) by ussdixms03.am.sony.com with Microsoft SMTPSVC(5.0.2195.6713); Thu, 6 Nov 2008 16:22:06 -0800 Message-ID: <491389E8.7040103@am.sony.com> Date: Thu, 6 Nov 2008 16:20:56 -0800 From: Geoff Levand User-Agent: Thunderbird 2.0.0.16 (X11/20080723) MIME-Version: 1.0 To: jk@ozlabs.org References: <491385D1.2070704@am.sony.com> In-Reply-To: <491385D1.2070704@am.sony.com> X-Enigmail-Version: 0.95.7 X-OriginalArrivalTime: 07 Nov 2008 00:22:06.0359 (UTC) FILETIME=[DD815270:01C9406E] X-SEL-encryption-scan: scanned Cc: cbe-oss-dev@ozlabs.org Subject: [Cbe-oss-dev] [patch 3/9] petitboot: Convert build to use autotools X-BeenThere: cbe-oss-dev@ozlabs.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Discussion about Open Source Software for the Cell Broadband Engine List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: cbe-oss-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org Errors-To: cbe-oss-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org From: Yuji Mano Convert the build system to use autotools. Does not make any functional changes to the binaries. Signed-off-by: Yuji Mano Signed-off-by: Geoff Levand --- INSTALL | 234 ++++++++++++++++++++++++++++++++++++++++++++ Makefile | 65 ------------ Makefile.am | 114 +++++++++++++++++++++ artwork/Makefile.am | 29 +++++ bootstrap | 24 ++++ configure.ac | 27 +++++ devices/Makefile.am | 17 +++ devices/parser-test.sh | 26 ---- devices/parser-test.sh.in | 26 ++++ utils/99-petitboot.rules | 2 utils/99-petitboot.rules.in | 2 utils/Makefile.am | 41 +++++++ 12 files changed, 514 insertions(+), 93 deletions(-) --- /dev/null +++ b/INSTALL @@ -0,0 +1,234 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006 Free Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + +Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + --- a/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -PREFIX?=/usr -VERSION=0.2 -PACKAGE=petitboot -CC=gcc -INSTALL=install -TWIN_CFLAGS?=$(shell pkg-config --cflags libtwin) -TWIN_LDFLAGS?=$(shell pkg-config --libs libtwin) - -LDFLAGS = -CFLAGS = --std=gnu99 -O0 -ggdb -Wall '-DPREFIX="$(PREFIX)"' - -PARSERS = native yaboot kboot -ARTWORK = background.jpg cdrom.png hdd.png usbpen.png tux.png cursor.gz - -all: petitboot petitboot-udev-helper - -petitboot: petitboot.o devices.o - $(CC) $(LDFLAGS) -o $@ $^ - -petitboot: LDFLAGS+=$(TWIN_LDFLAGS) -petitboot: CFLAGS+=$(TWIN_CFLAGS) - -petitboot-udev-helper: devices/petitboot-udev-helper.o devices/params.o \ - devices/parser.o devices/paths.o devices/yaboot-cfg.o \ - $(foreach p,$(PARSERS),devices/$(p)-parser.o) - $(CC) $(LDFLAGS) -o $@ $^ - -parser-test: devices/parser-test.o devices/params.o devices/parser.o \ - devices/paths.o devices/yaboot-cfg.o \ - $(foreach p,$(PARSERS),devices/$(p)-parser.o) - $(CC) $(LDFLAGS) -o $@ $^ - -devices/%: CFLAGS+=-I. - -install: all - $(INSTALL) -D petitboot $(DESTDIR)$(PREFIX)/sbin/petitboot - $(INSTALL) -D petitboot-udev-helper \ - $(DESTDIR)$(PREFIX)/sbin/petitboot-udev-helper - $(INSTALL) -Dd $(DESTDIR)$(PREFIX)/share/petitboot/artwork/ - $(INSTALL) -t $(DESTDIR)$(PREFIX)/share/petitboot/artwork/ \ - $(foreach a,$(ARTWORK),artwork/$(a)) - -dist: $(PACKAGE)-$(VERSION).tar.gz - -check: parser-test - devices/parser-test.sh - -distcheck: dist - tar -xvf $(PACKAGE)-$(VERSION).tar.gz - cd $(PACKAGE)-$(VERSION) && make check - -$(PACKAGE)-$(VERSION).tar.gz: $(PACKAGE)-$(VERSION) - tar czvf $@ $^ - -$(PACKAGE)-$(VERSION): clean - for f in $$(git-ls-files); do \ - d=$@/$$(dirname $$f); \ - mkdir -p $$d; \ - cp -a $$f $$d; \ - done -clean: - rm -rf $(PACKAGE)-$(VERSION) - rm -f petitboot - rm -f petitboot-udev-helper - rm -f *.o devices/*.o --- /dev/null +++ b/Makefile.am @@ -0,0 +1,114 @@ +## Makefile.am -- Process this file with automake to produce Makefile.in +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +SUBDIRS = artwork devices utils + +AM_CPPFLAGS = -I$(includedir) \ + -DPKG_SHARE_DIR="\"$(datadir)/petitboot\"" + +AM_CFLAGS = \ + -g \ + -Wall \ + -W \ + -Wunused \ + -Wstrict-prototypes \ + -Wmissing-prototypes \ + -Wmissing-declarations \ + -Wredundant-decls \ + -Winline + +AM_LDFLAGS = -L$(libdir) + +sbin_PROGRAMS = petitboot-udev-helper petitboot + +petitboot_headers = \ + petitboot.h \ + petitboot-paths.h \ + devices/params.h \ + devices/yaboot-cfg.h \ + devices/parser.h \ + devices/paths.h \ + devices/message.h + +petitboot_udev_helper_SOURCES = \ + $(petitboot_headers) \ + devices/petitboot-udev-helper.c \ + devices/params.c \ + devices/parser.c \ + devices/paths.c \ + devices/yaboot-cfg.c \ + devices/native-parser.c \ + devices/yaboot-parser.c \ + devices/kboot-parser.c + +petitboot_SOURCES = \ + $(petitboot_headers) \ + petitboot.c \ + devices.c +petitboot_LDADD = -ltwin -lpng -ljpeg -lz -lm + +parser_test_SOURCES = \ + $(petitboot_headers) \ + devices/parser-test.c \ + devices/params.c \ + devices/parser.c \ + devices/paths.c \ + devices/yaboot-cfg.c \ + devices/native-parser.c \ + devices/yaboot-parser.c \ + devices/kboot-parser.c + +check_PROGRAMS = parser-test + +composed_scripts = devices/parser-test.sh + +edit = sed \ + -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \ + -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ + -e 's,@PACKAGE_BUGREPORT\@,$(PACKAGE_BUGREPORT),g' \ + -e 's,@libexecdir\@,$(libexecdir),g' \ + -e 's,@datadir\@,$(pkgdatadir),g' \ + -e 's,@prefix\@,$(prefix),g' \ + -e 's,@sbindir\@,$(sbindir),g' \ + -e 's,@top_srcdir\@,$(top_srcdir),g' + +devices/parser-test.sh: Makefile $(srcdir)/devices/parser-test.sh.in + rm -f $@ $@.tmp + $(edit) $(srcdir)/$@.in >$@.tmp + chmod +x $@.tmp + mv $@.tmp $@ + +check_SCRIPTS = devices/parser-test.sh + +check: + devices/parser-test.sh + +EXTRA_DIST = bootstrap \ + $(addsuffix .in, $(composed_scripts)) \ + devices/parser-tests/001/ps3da1/etc/kboot.conf \ + devices/parser-tests/001/expected-output \ + devices/parser-tests/002/ps3da1/etc/yaboot.conf \ + devices/parser-tests/002/expected-output \ + devices/parser-tests/003/ps3da1/etc/kboot.conf \ + devices/parser-tests/003/expected-output \ + devices/parser-tests/004/rootdev \ + devices/parser-tests/004/expected-output \ + devices/parser-tests/004/sda1/etc/kboot.conf + +MAINTAINERCLEANFILES = aclocal.m4 config.* configure depcomp \ + install-sh ltmain.sh Makefile.in missing $(PACKAGE)-*.gz + +CLEANFILES = $(composed_scripts) $(addsuffix .tmp, $(composed_scripts)) --- /dev/null +++ b/artwork/Makefile.am @@ -0,0 +1,29 @@ +## Makefile.am -- Process this file with automake to produce Makefile.in +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +artworkdir = $(datadir)/petitboot/artwork + +artwork_DATA = \ + background.jpg \ + cdrom.png \ + cursor.gz \ + hdd.png \ + tux.png \ + usbpen.png + +EXTRA_DIST = $(artwork_DATA) + +MAINTAINERCLEANFILES = Makefile.in --- /dev/null +++ b/bootstrap @@ -0,0 +1,24 @@ +#! /bin/bash +# bootstrap -- Use this script to create generated files from a VCS checkout +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +set -x + +aclocal +libtoolize --force --copy +autoheader +automake --foreign --add-missing --copy +autoconf --- /dev/null +++ b/configure.ac @@ -0,0 +1,27 @@ +## configure.ac -- Process this file with autoconf to produce configure +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +AC_INIT([petitboot], [0.2.1], [Jeremy Kerr ]) + +AC_PREFIX_DEFAULT([/usr]) + +AC_PROG_LIBTOOL +AM_INIT_AUTOMAKE +AC_SUBST([DESTDIR]) +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_FILES([Makefile artwork/Makefile devices/Makefile utils/Makefile]) + +AC_OUTPUT --- /dev/null +++ b/devices/Makefile.am @@ -0,0 +1,17 @@ +## Makefile.am -- Process this file with automake to produce Makefile.in +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +MAINTAINERCLEANFILES = Makefile.in --- a/devices/parser-test.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -testdir=devices/parser-tests -default_rootdev=ps3da1 - -function test_dir() -{ - dir="$1" - rootdev=$default_rootdev - if [ -e "$dir/rootdev" ] - then - rootdev=$(cat "$dir/rootdev") - fi - ./parser-test "$dir" /dev/$rootdev 2>/dev/null | - diff -u "$dir/expected-output" - -} - -set -ex - -for test in $testdir/* -do - echo $test - test_dir "$test" -done - -echo "All tests passed" --- /dev/null +++ b/devices/parser-test.sh.in @@ -0,0 +1,26 @@ +#!/bin/bash + +testdir=@top_srcdir@/devices/parser-tests +default_rootdev=ps3da1 + +function test_dir() +{ + dir="$1" + rootdev=$default_rootdev + if [ -e "$dir/rootdev" ] + then + rootdev=$(cat "$dir/rootdev") + fi + ./parser-test "$dir" /dev/$rootdev 2>/dev/null | + diff -u "$dir/expected-output" - +} + +set -ex + +for test in $testdir/* +do + echo $test + test_dir "$test" +done + +echo "All tests passed" --- a/utils/99-petitboot.rules +++ /dev/null @@ -1,2 +0,0 @@ -# tell petitboot when we see new block devices ... -SUBSYSTEM=="block",RUN+="/usr/sbin/petitboot-udev-helper" --- /dev/null +++ b/utils/99-petitboot.rules.in @@ -0,0 +1,2 @@ +# tell petitboot when we see new block devices ... +SUBSYSTEM=="block",RUN+="@sbindir@/petitboot-udev" --- /dev/null +++ b/utils/Makefile.am @@ -0,0 +1,41 @@ +## Makefile.am -- Process this file with automake to produce Makefile.in +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +udevrulesdir = $(sysconfdir)/udev/rules.d +udevrules_DATA = 99-petitboot.rules + +composed_scripts = 99-petitboot.rules + +edit = sed \ + -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \ + -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ + -e 's,@PACKAGE_BUGREPORT\@,$(PACKAGE_BUGREPORT),g' \ + -e 's,@libexecdir\@,$(libexecdir),g' \ + -e 's,@datadir\@,$(pkgdatadir),g' \ + -e 's,@prefix\@,$(prefix),g' \ + -e 's,@sbindir\@,$(sbindir),g' + +99-petitboot.rules: Makefile $(srcdir)/99-petitboot.rules.in + rm -f $@ $@.tmp + $(edit) $(srcdir)/$@.in >$@.tmp + chmod +x $@.tmp + mv $@.tmp $@ + +EXTRA_DIST = $(addsuffix .in, $(composed_scripts)) + +MAINTAINERCLEANFILES = Makefile.in + +CLEANFILES = $(composed_scripts) $(addsuffix .tmp, $(composed_scripts))