Build OS X package with correct file permissions

This requires to have the correct permissions in the source tree, which
is "root:wheel", which in turn requires root privileges. Therefore the
Makefile now tries to become root on "make osxpkg-dest" but tries hard
not to require root privileges on "clean" etc.
This commit is contained in:
Alexander Barton 2013-03-27 13:09:23 +01:00
parent ce3e41cf4c
commit 7f9bce705c
1 changed files with 11 additions and 7 deletions

View File

@ -1,6 +1,6 @@
# #
# ngIRCd -- The Next Generation IRC Daemon # ngIRCd -- The Next Generation IRC Daemon
# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors # Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -15,9 +15,8 @@ SUBDIRS = doc src man contrib
EXTRA_DIST = autogen.sh configure.ng .mailmap EXTRA_DIST = autogen.sh configure.ng .mailmap
clean-local: clean-local: osxpkg-clean
rm -f build-stamp* rm -f build-stamp*
rm -rf ngircd.dest
maintainer-clean-local: maintainer-clean-local:
rm -rf autom4te.cache rm -rf autom4te.cache
@ -62,14 +61,18 @@ deb:
dpkg-buildpackage -rfakeroot -i dpkg-buildpackage -rfakeroot -i
osxpkg: have-packagemaker osxpkg-dest osxpkg: have-packagemaker osxpkg-dest
cd contrib/MacOSX && packagemaker \ cd contrib/MacOSX && packagemaker --no-recommend \
--doc ngIRCd.pmdoc \ --doc ngIRCd.pmdoc \
--out ../../$(distdir).mpkg --out ../../$(distdir).mpkg
rm -f $(distdir).mpkg.zip rm -f $(distdir).mpkg.zip
zip -ro9 $(distdir).mpkg.zip $(distdir).mpkg zip -ro9 $(distdir).mpkg.zip $(distdir).mpkg
make osxpkg-clean
osxpkg-clean:
[ ! -e ngircd.dest ] || sudo -n rm -rf ngircd.dest
rm -rf ngircd.dest $(distdir).mpkg rm -rf ngircd.dest $(distdir).mpkg
osxpkg-dest: have-xcodebuild clean osxpkg-dest: have-xcodebuild osxpkg-clean clean
./configure --prefix=/opt/ngircd ./configure --prefix=/opt/ngircd
make xcode make xcode
make -C contrib/MacOSX de.barton.ngircd.plist make -C contrib/MacOSX de.barton.ngircd.plist
@ -82,8 +85,9 @@ osxpkg-dest: have-xcodebuild clean
rm ngircd.dest/opt/ngircd/etc/ngircd.conf rm ngircd.dest/opt/ngircd/etc/ngircd.conf
echo "Have a nice day IRCing!" >ngircd.dest/opt/ngircd/etc/ngircd.motd echo "Have a nice day IRCing!" >ngircd.dest/opt/ngircd/etc/ngircd.motd
chmod -R a-s,og-w,a+rX ngircd.dest chmod -R a-s,og-w,a+rX ngircd.dest
sudo chown -R root:wheel ngircd.dest
.PHONY: deb have-packagemaker have-xcodebuild lint osxpkg osxpkg-dest rpm \ .PHONY: deb have-packagemaker have-xcodebuild lint osxpkg osxpkg-clean \
srcdoc testsuite xcode xcode-clean osxpkg-dest rpm srcdoc testsuite xcode xcode-clean
# -eof- # -eof-