Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernie Innocenti <bernie@codewiz.org>2008-12-18 04:02:29 (GMT)
committer Bernie Innocenti <bernie@codewiz.org>2008-12-18 04:03:42 (GMT)
commit2ae00c3fe13ad830522a4a132ba57ef4b1cc36dc (patch)
tree20b7a1bc5c1b4ef50ea685664c3b154ff093b922
parent85bb913391ebf734344776da157849c75a7fc9ca (diff)
Rewrite the buildsystem and packaging to accommodate nss-rainbow.
-rw-r--r--rainbow/Makefile.build18
-rw-r--r--rainbow/Makefile.fedora12
-rw-r--r--rainbow/Makefile.package10
-rw-r--r--rainbow/nss/AUTHORS1
-rw-r--r--rainbow/nss/COPYING28
-rw-r--r--[l---------]rainbow/nss/Makefile59
-rw-r--r--rainbow/nss/Makefile.build58
-rw-r--r--rainbow/nss/Makefile.fedora129
-rw-r--r--rainbow/nss/Makefile.package24
-rw-r--r--rainbow/nss/README89
-rw-r--r--rainbow/nss/nss-rainbow.spec.in52
-rw-r--r--rainbow/rainbow.spec.in34
12 files changed, 107 insertions, 407 deletions
diff --git a/rainbow/Makefile.build b/rainbow/Makefile.build
index 8b2599d..2cad956 100644
--- a/rainbow/Makefile.build
+++ b/rainbow/Makefile.build
@@ -1,12 +1,26 @@
+export DESTDIR ?= /
+export BINDIR ?= $(DESTDIR)/bin
+export SBINDIR ?= $(DESTDIR)/sbin
+export LOCALSTATEDIR ?= $(DESTDIR)/var
+export SYSCONFDIR ?= $(DESTDIR)/etc
+export LIBDIR ?= $(DESTDIR)/lib
# targets
build:
python setup.py build
+ $(MAKE) -C nss
install:
- install -D -m 0755 bin/mkenvdir $(DESTDIR)/usr/bin/mkenvdir
- install -D -m 0755 bin/rainbow-run $(DESTDIR)/usr/sbin/rainbow-run
python setup.py install --root=$(DESTDIR)
+ install -D -m 0755 bin/rainbow-run $(BINDIR)/rainbow-run
+ install -D -m 0755 bin/rainbow-run $(BINDIR)/rainbow-sugarize
+ install -D -m 0755 bin/mkenvdir $(BINDIR)/mkenvdir
+ install -d $(SYSCONFDIR)/security/console.perms.d/
+ install -m 0644 rainbow/conf/51-rainbow.perms $(SYSCONFDIR)/security/console.perms.d/51-rainbow.perms
+ install -d $(SYSCONFDIR)/dbus-1/
+ install -m 0644 rainbow/conf/session-olpc.conf $(SYSCONFDIR)/dbus-1/session-olpc.conf
+ install -d $(LOCALSTATEDIR)/spool/rainbow/2
+ $(MAKE) -C nss install
.PHONY: build install
diff --git a/rainbow/Makefile.fedora b/rainbow/Makefile.fedora
index f89daaf..2666332 100644
--- a/rainbow/Makefile.fedora
+++ b/rainbow/Makefile.fedora
@@ -67,16 +67,16 @@ SEDCONF = sed -e s:@TARBALL@:$(TARBALL):g \
-e s:@PKGNAME@:$(PKGNAME):g \
< $< > $@
-$(SRCDIR):
+$(SRCDIR) $(BUILDDIR):
mkdir -p $@
-$(BUILDDIR)/%: %.in
+$(BUILDDIR)/%: %.in $(BUILDDIR)
$(SEDCONF)
-$(SRCDIR)/%: %.in
+$(SRCDIR)/%: %.in $(SRCDIR)
$(SEDCONF)
-$(SRCDIR)/%: %
+$(SRCDIR)/%: % $(SRCDIR)
cp -r $< $@
$(TARBALL): $(SRCDIR) $(foreach src,$(SOURCES),$(SRCDIR)/$(src))
@@ -86,8 +86,8 @@ $(SRPM): $(SPEC) $(TARBALL)
$(RPMBUILD) --nodeps -bs $(BUILDDIR)/$(PKGNAME).spec
build: $(SRPM)
- #$(MOCK) -r $(BUILDROOT) --uniqueext=`whoami` --resultdir=$(BUILDDIR) --rebuild $(SRPM)
- $(RPMBUILD) -bs $(BUILDDIR)/$(PKGNAME).spec
+ $(MOCK) -r $(BUILDROOT) --uniqueext=`whoami` --resultdir=$(BUILDDIR) --rebuild $(SRPM)
+ #$(RPMBUILD) -bs $(BUILDDIR)/$(PKGNAME).spec
# Tags, Signatures, Lint, and Clean
diff --git a/rainbow/Makefile.package b/rainbow/Makefile.package
index b6d1af8..3a76620 100644
--- a/rainbow/Makefile.package
+++ b/rainbow/Makefile.package
@@ -2,12 +2,12 @@
PKGNAME = rainbow
COMPLETION = 0.8.0
RELEASE = 1
-SOURCES = setup.py setup.cfg Makefile.build README AUTHORS COPYING rainbow bin
+SOURCES = setup.py setup.cfg Makefile.build README AUTHORS COPYING rainbow nss bin
-ARCH = noarch
-DIST = olpc
-DISTVER = olpc3
-BUILDROOT = fedora-9-i386
+ARCH = $(shell rpm --eval '%{_arch}')
+DIST = fedora
+DISTVER = $(shell rpm --eval '%{?dist}' | sed -e s/\.//)
+BUILDROOT = $(DIST)-$(shell rpm --eval '%{fedora}')-$(ARCH)
REQ_SUBST = setup.py
LOCAL_REPO = $(shell pwd)/rpms
diff --git a/rainbow/nss/AUTHORS b/rainbow/nss/AUTHORS
deleted file mode 100644
index 5cda67a..0000000
--- a/rainbow/nss/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Michael Stone <michael@laptop.org> (irc: m_stone, trac: mstone)
diff --git a/rainbow/nss/COPYING b/rainbow/nss/COPYING
deleted file mode 100644
index 507e661..0000000
--- a/rainbow/nss/COPYING
+++ /dev/null
@@ -1,28 +0,0 @@
-Copyright (c) 2008, Michael Stone
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
- 3. The names of the authors may not be used to endorse or promote
- products derived from this software without specific prior
- written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/rainbow/nss/Makefile b/rainbow/nss/Makefile
index fe59474..02e1889 120000..100644
--- a/rainbow/nss/Makefile
+++ b/rainbow/nss/Makefile
@@ -1 +1,58 @@
-Makefile.fedora \ No newline at end of file
+
+WARNFLAGS = \
+ -W -Wformat -Wall -Wundef -Wpointer-arith -Wcast-qual \
+ -Wcast-align -Wwrite-strings -Wsign-compare \
+ -Wmissing-noreturn \
+ -Wextra -Wstrict-aliasing=2 \
+ -Wunsafe-loop-optimizations
+
+# Compiler flags for generating dependencies
+DEPFLAGS = -MMD -MP
+
+ALLCFLAGS = -g -std=gnu99 -fPIC $(WARNFLAGS) $(DEPFLAGS) $(CFLAGS)
+
+# declarations
+
+RAINBOW_OBJS = nss-rainbow.o buf.o nat.o
+UIDS_OBJS = uids.o
+GIDS_OBJS = gids.o
+TEST_NAT_OBJS = test_nat.o nat.o
+ALL_OBJS = $(RAINBOW_OBJS) $(UIDS_OBJS) $(GIDS_OBJS) $(TEST_NAT_OBJS)
+BINARIES = libnss_rainbow.so.2 uids gids test_nat
+
+# targets
+
+all: $(BINARIES)
+
+clean:
+ rm -f $(BINARIES) *.d *.o
+
+install:
+ install -D -m 0755 libnss_rainbow.so.2 $(LIBDIR)/libnss_rainbow.so.2
+
+# objects
+
+%.o: %.c
+ $(CC) $(ALLCFLAGS) -c -o $@ $<
+
+
+# linked binaries
+
+test_nat: $(TEST_NAT_OBJS)
+ $(CC) $(ALLCFLAGS) -o $@ $^
+
+uids: $(UIDS_OBJS)
+ $(CC) $(ALLCFLAGS) -o $@ $^
+
+gids: $(GIDS_OBJS)
+ $(CC) $(ALLCFLAGS) -o $@ $^
+
+libnss_rainbow.so.2: $(RAINBOW_OBJS)
+ $(CC) -g -shared $(LDFLAGS) -o $@ -Wl,-soname,$@ $^
+
+
+.PHONY: clean install
+
+-include $(ALL_OBJS:%.o=%.d)
+
+# vim: noet sts=4 ts=4 sw=4 :
diff --git a/rainbow/nss/Makefile.build b/rainbow/nss/Makefile.build
deleted file mode 100644
index 02e1889..0000000
--- a/rainbow/nss/Makefile.build
+++ /dev/null
@@ -1,58 +0,0 @@
-
-WARNFLAGS = \
- -W -Wformat -Wall -Wundef -Wpointer-arith -Wcast-qual \
- -Wcast-align -Wwrite-strings -Wsign-compare \
- -Wmissing-noreturn \
- -Wextra -Wstrict-aliasing=2 \
- -Wunsafe-loop-optimizations
-
-# Compiler flags for generating dependencies
-DEPFLAGS = -MMD -MP
-
-ALLCFLAGS = -g -std=gnu99 -fPIC $(WARNFLAGS) $(DEPFLAGS) $(CFLAGS)
-
-# declarations
-
-RAINBOW_OBJS = nss-rainbow.o buf.o nat.o
-UIDS_OBJS = uids.o
-GIDS_OBJS = gids.o
-TEST_NAT_OBJS = test_nat.o nat.o
-ALL_OBJS = $(RAINBOW_OBJS) $(UIDS_OBJS) $(GIDS_OBJS) $(TEST_NAT_OBJS)
-BINARIES = libnss_rainbow.so.2 uids gids test_nat
-
-# targets
-
-all: $(BINARIES)
-
-clean:
- rm -f $(BINARIES) *.d *.o
-
-install:
- install -D -m 0755 libnss_rainbow.so.2 $(LIBDIR)/libnss_rainbow.so.2
-
-# objects
-
-%.o: %.c
- $(CC) $(ALLCFLAGS) -c -o $@ $<
-
-
-# linked binaries
-
-test_nat: $(TEST_NAT_OBJS)
- $(CC) $(ALLCFLAGS) -o $@ $^
-
-uids: $(UIDS_OBJS)
- $(CC) $(ALLCFLAGS) -o $@ $^
-
-gids: $(GIDS_OBJS)
- $(CC) $(ALLCFLAGS) -o $@ $^
-
-libnss_rainbow.so.2: $(RAINBOW_OBJS)
- $(CC) -g -shared $(LDFLAGS) -o $@ -Wl,-soname,$@ $^
-
-
-.PHONY: clean install
-
--include $(ALL_OBJS:%.o=%.d)
-
-# vim: noet sts=4 ts=4 sw=4 :
diff --git a/rainbow/nss/Makefile.fedora b/rainbow/nss/Makefile.fedora
deleted file mode 100644
index 17e38b1..0000000
--- a/rainbow/nss/Makefile.fedora
+++ /dev/null
@@ -1,129 +0,0 @@
-THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST))
-SHELL = /bin/bash
-
-help: incr-build
- @echo "Welcome to m_stone's Fedora-packaging assistant."
- @echo
- @echo "Interesting targets:"
- @echo
- @echo " snapshot release"
- @echo " snapshot-lint release-lint"
- @echo " snapshot-deploy release-deploy"
- @echo
- @echo "See also:"
- @echo
- @echo " http://dev.laptop.org/git/users/mstone/rpm-packaging"
- @echo
-
-include ./Makefile.package
-
-# Select build id.
-
-SNAPSHOT := $(shell date +%Y%m%d)git$(shell git log | head -n1 | awk '{print substr($$2,0,6)}')
-BUILDNO := $(shell if [ -f "build-no" ]; then cat build-no; else echo 1; fi)
-OLDBUILDNO := $(shell echo '$(BUILDNO) - 1' | bc)
-incr-build:
- @if [ -f "build-no" ]; then echo "1 + `cat build-no`" | bc > build-new && mv build-new build-no; else echo 1 > build-no; fi
-
-ifeq (,$(findstring snapshot,$(MAKECMDGOALS)))
- VERSION=$(COMPLETION)
-else
- VERSION=$(COMPLETION).$(BUILDNO).$(SNAPSHOT)
-endif
-
-NV = $(PKGNAME)-$(VERSION)
-NVR = $(PKGNAME)-$(VERSION)-$(RELEASE)
-
-# Files.
-
-BUILDDIR = $(LOCAL_REPO)/$(NVR)
-SRCDIR = $(BUILDDIR)/$(NV)
-TARBALL = $(BUILDDIR)/$(NV).tar.bz2
-SRPM = $(BUILDDIR)/$(NVR).$(DISTVER).src.rpm
-RPM = $(BUILDDIR)/$(NVR).$(DISTVER).$(ARCH).rpm
-SPEC = $(BUILDDIR)/$(PKGNAME).spec
-
-# Build commands.
-
-RPMBUILD = rpmbuild \
- --define "_sourcedir $(BUILDDIR)" \
- --define "_builddir $(BUILDDIR)" \
- --define "_srcrpmdir $(BUILDDIR)" \
- --define "_rpmdir $(BUILDDIR)" \
- --define "dist .$(DISTVER)" \
- --define "$(DIST) 1" \
-
-MOCK = /usr/bin/mock \
- --define "dist .$(DISTVER)" \
- --define "$(DIST) 1"
-
-RPMLINT = /usr/bin/rpmlint
-
-# Construction Rules
-
-SEDCONF = sed -e s:@TARBALL@:$(TARBALL):g \
- -e s:@RELEASE@:$(RELEASE):g \
- -e s:@VERSION@:$(VERSION):g \
- -e s:@PKGNAME@:$(PKGNAME):g \
- < $< > $@
-
-$(SRCDIR) $(BUILDDIR):
- mkdir -p $@
-
-$(BUILDDIR)/%: %.in $(BUILDDIR)
- $(SEDCONF)
-
-$(SRCDIR)/%: %.in $(SRCDIR)
- $(SEDCONF)
-
-$(SRCDIR)/%: % $(SRCDIR)
- cp -r $< $@
-
-$(TARBALL): $(SRCDIR) $(foreach src,$(SOURCES),$(SRCDIR)/$(src))
- tar cjf $(TARBALL) -C $(BUILDDIR) $(NV)
-
-$(SRPM): $(SPEC) $(TARBALL)
- $(RPMBUILD) --nodeps -bs $(BUILDDIR)/$(PKGNAME).spec
-
-build: $(SRPM)
- $(MOCK) -r $(BUILDROOT) --uniqueext=`whoami` --resultdir=$(BUILDDIR) --rebuild $(SRPM)
-
-# Tags, Signatures, Lint, and Clean
-
-$(TARBALL).asc: $(TARBALL)
- gpg -ab $<
-
-sign: $(TARBALL).asc
-
-.git/refs/tags/$(NV):
- git tag -s -m "$(NV)" $(NV)
-
-tag: .git/refs/tags/$(NV)
-
-commit:
- git commit --allow-empty -a -m "Rainbow $(NV)."
-
-lint:
- @if [ -x $(RPMLINT) ]; then \
- find $(LOCALREPO) -name '*.rpm' -execdir rpmlint {} + ; \
- else \
- echo "** SKIPPING LINT CHECKS ($(RPMLINT) not installed) **" ; \
- fi
-
-clean:
- rm -rf $(LOCAL_REPO)
- mkdir -p $(BUILDDIR)
-
-
-# Snapshot and Release Rules
-
-snapshot-deploy: VERSION=$(COMPLETION).$(OLDBUILDNO).$(SNAPSHOT)
-
-snapshot-lint release-lint: lint
-
-snapshot release: incr-build clean build lint
-
-.PHONY: clean sign tag commit incr-build snapshot release snapshot-deploy release-deploy snapshot-lint release-lint
-
-
-# vim: set noet ts=8 sw=8 :
diff --git a/rainbow/nss/Makefile.package b/rainbow/nss/Makefile.package
deleted file mode 100644
index 8bcac42..0000000
--- a/rainbow/nss/Makefile.package
+++ /dev/null
@@ -1,24 +0,0 @@
-
-PKGNAME = nss-rainbow
-COMPLETION = 0.2
-RELEASE = 1
-SOURCES = README AUTHORS COPYING Makefile.build $(wildcard *.c) $(wildcard *.h)
-
-ARCH = $(shell rpm --eval '%{_arch}')
-DIST = fedora
-DISTVER = $(shell rpm --eval '%{?dist}' | sed -e s/\.//)
-BUILDROOT = $(DIST)-$(shell rpm --eval '%{fedora}')-$(ARCH)
-REQ_SUBST =
-
-LOCAL_REPO = $(shell pwd)/rpms
-REMOTE_REPO = dev.laptop.org:public_html/releases
-
-release-deploy:
- scp $(TARBALL) $(REMOTE_REPO)/SOURCES/
- scp $(TARBALL).asc $(REMOTE_REPO)/SOURCES/
- scp $(SPEC) $(REMOTE_REPO)/SPECS/
- scp $(SRPM) $(REMOTE_REPO)/SRPMS/
- scp `find $(LOCAL_REPO)/$(PKGNAME)-$(COMPLETION)-$(RELEASE) -name '*.rpm' -a -not -name '*.src.rpm'` $(REMOTE_REPO)/RPMS/
-
-snapshot-deploy:
- cp -f $(RPM) ~/public_html/$(PKGNAME).rpm
diff --git a/rainbow/nss/README b/rainbow/nss/README
deleted file mode 100644
index e66a1d1..0000000
--- a/rainbow/nss/README
+++ /dev/null
@@ -1,89 +0,0 @@
-Welcome to nss-rainbow
-======================
-:Author: Michael Stone
-:Date: September 30, 2008
-
-nss-rainbow is an MIT-licensed "Name Service Switch" plugin for glibc which
-permits Rainbow (http://dev.laptop.org/go/Rainbow) to easily create and remove
-users and groups without modifying /etc/passwd and /etc/group.
-
-Design Overview
----------------
-
-Rainbow's current implementation is based on a three orthogonal concepts:
-
- 1) An active, stateful daemon that responds to requests to start activities,
- to make resources available, &etc. and that responds to notifications of
- other state changes provided by the rest of the system (e.g. the user
- switching between activity instances).
-
- 2) A small collection of mostly-declarative "stages" that can be sequenced by
- the Daemon in order to "activate" a given launch target (e.g. "legacy
- Sugar activity", or "Updater").
-
- 3) A variety of small libraries for interpreting and manipulating relevant
- chunks of the overall system state; e.g. the VServer kernel-interface
- virtualization system, Sugar bundles, upgrade manifests, a file-system
- library, &etc.
-
-Currently missing from this design are a good analysis of resource
-finalization, an ACID state-manipulation library, and a evidence-collection
-infrastructure for determining the software's correctness.
-
-Please see docs/DESIGN for a more detailed discussion of Rainbow's design.
-
-Contributing
-------------
-
-There are several basic ways you can participate in nss-rainbow's development.
-In no particular order,
-
- 1) You can help us search for a design that performs correctly and robustly
- in the face of interference. You can also review our code and suggest (or
- implement) clarifications, redesigns, cleanups.
-
- 2) You can help develop nss-rainbow by using it on your favorite distribution
- (ask for help on devel@lists.laptop.org), and then reporting, diagnosing,
- and fixing things that break.
-
-The public fora that we frequent are:
-
- devel@lists.laptop.org
- sugar@lists.laptop.org
- security@lists.laptop.org
-
- #olpc on irc.freenode.org
-
- Please file tickets against the 'security' component of dev.laptop.org and CC
- the members of AUTHORS.
-
-If you need to synchronize an action with us please contact us personally at
-the locations cited in AUTHORS.
-
-Our release tree is located at three different URLs, depending on the purpose
-of access:
-
- http://dev.laptop.org/git/projects/nss-rainbow (browse)
- git://dev.laptop.org/projects/nss-rainbow (clone)
- git+ssh://$USER@dev.laptop.org/git/users/$USER/nss-rainbow (commit)
-
-and individual security developers maintain personal trees at locations like:
-
- http://dev.laptop.org/git/users/mstone/nss-rainbow
-
-Since we use a distributed development model, you can send us your work in
-several ways. We are happy to receive:
-
- 1) a link to your clone of the nss-rainbow repository and a summary of what
- you'd like us to examine in it
-
- 2) an emailed patch, preferably indicating the commit to which the patch
- should be applied
-
- 3) general comments, questions, and reviews in any medium
-
-Finally, since security is a property of a complete organic system and not of
-any single component thereof, we are most interested in hearing suggestions on
-how we can work more closely with you to reach our mutual end goals.
-
-
diff --git a/rainbow/nss/nss-rainbow.spec.in b/rainbow/nss/nss-rainbow.spec.in
deleted file mode 100644
index 65a95c4..0000000
--- a/rainbow/nss/nss-rainbow.spec.in
+++ /dev/null
@@ -1,52 +0,0 @@
-Name: @PKGNAME@
-Version: @VERSION@
-Release: @RELEASE@%{?dist}
-Summary: NSS plugin for Rainbow
-
-Group: System Environment/Base
-License: MIT
-URL: http://wiki.laptop.org/go/Nss-rainbow
-Source0: http://dev.laptop.org/~mstone/releases/SOURCES/%{name}-%{version}.tar.bz2
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: make
-Requires: glibc
-
-%description
-nss-rainbow is an MIT-licensed "Name Service Switch" plugin for glibc which
-permits Rainbow (http://dev.laptop.org/go/Rainbow) to easily create and remove
-users and groups without modifying /etc/passwd and /etc/group.
-
-
-%prep
-%setup -q
-
-
-%build
-make -f Makefile.build %{?_smp_mflags}
-
-
-%install
-rm -rf $RPM_BUILD_ROOT
-make -f Makefile.build install DESTDIR="$RPM_BUILD_ROOT" LIBDIR="$RPM_BUILD_ROOT/%{_lib}"
-
-
-%post -p /sbin/ldconfig
-
-
-%postun -p /sbin/ldconfig
-
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
-%files
-%defattr(-,root,root,-)
-%doc COPYING README AUTHORS
-%{_libdir}/libnss_rainbow.so.2
-
-
-%changelog
-* Tue Sep 30 2008 Michael Stone <michael@laptop.org> - 0.2-1
-- Initial release of this spec.
diff --git a/rainbow/rainbow.spec.in b/rainbow/rainbow.spec.in
index 0cfe778..974531a 100644
--- a/rainbow/rainbow.spec.in
+++ b/rainbow/rainbow.spec.in
@@ -13,7 +13,6 @@ URL: http://wiki.laptop.org/go/Rainbow
Source0: http://dev.laptop.org/~mstone/releases/SOURCES/%{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
Requires: python
BuildRequires: python-devel
BuildRequires: python-setuptools
@@ -26,25 +25,28 @@ An isolation shell for single-user systems, based on the Bitfrost threat model.
%build
-%{__python} setup.py build
+make -f Makefile.build %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
+make -f Makefile.build install \
+ DESTDIR="$RPM_BUILD_ROOT" \
+ SBINDIR="$RPM_BUILD_ROOT/%{_sbindir}" \
+ BINDIR="$RPM_BUILD_ROOT/%{_bindir}" \
+ LIBDIR="$RPM_BUILD_ROOT/%{_lib}" \
+ SYSCONFDIR="$RPM_BUILD_ROOT/%{_sysconfdir}" \
+ LOCALSTATEDIR="$RPM_BUILD_ROOT/%{_localstatedir}" \
+ %{?_smp_mflags}
-install -d $RPM_BUILD_ROOT/%{_sbindir}
-install -m 755 bin/rainbow-run $RPM_BUILD_ROOT/%{_sbindir}/rainbow-run
-install -d $RPM_BUILD_ROOT/%{_bindir}
-install -m 755 bin/mkenvdir $RPM_BUILD_ROOT/%{_bindir}/mkenvdir
-install -d $RPM_BUILD_ROOT/%{_sysconfdir}/security/console.perms.d
-install -m 644 rainbow/conf/51-rainbow.perms $RPM_BUILD_ROOT/%{_sysconfdir}/security/console.perms.d/51-rainbow.perms
-install -d $RPM_BUILD_ROOT/%{_sysconfdir}/dbus-1
-install -m 644 rainbow/conf/session-olpc.conf $RPM_BUILD_ROOT/%{_sysconfdir}/dbus-1/session-olpc.conf
+%post -p /sbin/ldconfig
+
+
+%postun -p /sbin/ldconfig
-install -d $RPM_BUILD_ROOT/%{_localstatedir}/spool/rainbow/2
%clean
rm -rf $RPM_BUILD_ROOT
@@ -56,11 +58,19 @@ rm -rf $RPM_BUILD_ROOT
%config(noreplace) %{_sysconfdir}/security/console.perms.d/51-rainbow.perms
%doc README COPYING AUTHORS
%{python_sitelib}/*
-%{_sbindir}/rainbow-run
+%{_bindir}/rainbow-run
+%{_bindir}/rainbow-sugarize
%{_bindir}/mkenvdir
%dir %{_localstatedir}/spool/rainbow
+/%{_lib}/libnss_rainbow.so.2
%changelog
+* Wed Dec 17 2008 Bernie Innocenti <bernie@codewiz.org> - 0.8.0-1.olpc3
+- Michael Stone (many):
+ Implement an NSS plugin and CLI for rainbow.
+- Bernie Innocenti (many):
+ Motivate Michael and merge the nss-rainbow code.
+
* Tue Sep 16 2008 Michael Stone <michael@laptop.org> - 0.7.24-1.olpc3
- Michael Stone (1):
Apply the _get_lang() checks to the correct variable.