diff options
author | Petteri Räty <betelgeuse@gentoo.org> | 2008-01-04 05:54:07 +0000 |
---|---|---|
committer | Petteri Räty <betelgeuse@gentoo.org> | 2008-01-04 05:54:07 +0000 |
commit | f56e293f74c651a0a93dd3b3069e6282320f0f94 (patch) | |
tree | 8733088487108ec5e9733c213c32fb07cdecf069 /sys-devel/distcc | |
parent | fixed mysql borkage (diff) | |
download | historical-f56e293f74c651a0a93dd3b3069e6282320f0f94.tar.gz historical-f56e293f74c651a0a93dd3b3069e6282320f0f94.tar.bz2 historical-f56e293f74c651a0a93dd3b3069e6282320f0f94.zip |
Fix .desktop file installation to follow latest freedesktop specs. Fix the ebuild to install the gui monitor with gnome -gtk use flags. Create DISTCC_DIR if it doesn't exist to avoid regular error messages. Fixes bug #171507.
Package-Manager: portage-2.1.4_rc11
Diffstat (limited to 'sys-devel/distcc')
-rw-r--r-- | sys-devel/distcc/ChangeLog | 12 | ||||
-rw-r--r-- | sys-devel/distcc/Manifest | 29 | ||||
-rw-r--r-- | sys-devel/distcc/distcc-2.18.3-r12.ebuild | 185 | ||||
-rw-r--r-- | sys-devel/distcc/files/digest-distcc-2.18.3-r12 | 6 | ||||
-rw-r--r-- | sys-devel/distcc/files/distcc-create-dir.patch | 56 | ||||
-rw-r--r-- | sys-devel/distcc/files/distcc-freedesktop.patch | 84 |
6 files changed, 364 insertions, 8 deletions
diff --git a/sys-devel/distcc/ChangeLog b/sys-devel/distcc/ChangeLog index 4aef5b7b3430..8608171b79df 100644 --- a/sys-devel/distcc/ChangeLog +++ b/sys-devel/distcc/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for sys-devel/distcc # Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.167 2008/01/04 03:53:14 betelgeuse Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.168 2008/01/04 05:54:06 betelgeuse Exp $ + +*distcc-2.18.3-r12 (04 Jan 2008) + + 04 Jan 2008; Petteri Räty <betelgeuse@gentoo.org> + +files/distcc-create-dir.patch, +files/distcc-freedesktop.patch, + +distcc-2.18.3-r12.ebuild: + Fix .desktop file installation to follow latest freedesktop specs. Fix the + ebuild to install the gui monitor with gnome -gtk use flags. Create + DISTCC_DIR if it doesn't exist to avoid regular error messages. Fixes bug + #171507. *distcc-2.18.3-r11 (04 Jan 2008) diff --git a/sys-devel/distcc/Manifest b/sys-devel/distcc/Manifest index 0ab9b604fb0f..87f70804b54c 100644 --- a/sys-devel/distcc/Manifest +++ b/sys-devel/distcc/Manifest @@ -33,6 +33,14 @@ AUX distcc-config 4874 RMD160 07bd612fc11c785691bd56e4e7bb7994a2e4dbb8 SHA1 85b5 MD5 fec77b3be8d8bd8f2d6e5a708cb35717 files/distcc-config 4874 RMD160 07bd612fc11c785691bd56e4e7bb7994a2e4dbb8 files/distcc-config 4874 SHA256 c6a7bb74eb235fd7896ca101c033a2e9faf80afeb7232bff3afe22f8a6268a5c files/distcc-config 4874 +AUX distcc-create-dir.patch 1404 RMD160 c9c878715ac02952d791da8776952e69d5de7e57 SHA1 387572bc6c05896386aef50db0d490168c1058f1 SHA256 b327b879f200d7a78cfe665cdba864e4d92a9fdecdd81149d75d72c8ba756bde +MD5 7cc92a5c0cf56bf9393a53092bc1b71b files/distcc-create-dir.patch 1404 +RMD160 c9c878715ac02952d791da8776952e69d5de7e57 files/distcc-create-dir.patch 1404 +SHA256 b327b879f200d7a78cfe665cdba864e4d92a9fdecdd81149d75d72c8ba756bde files/distcc-create-dir.patch 1404 +AUX distcc-freedesktop.patch 2519 RMD160 98020f40eebe7ca9cd629e602a9ff216df0b97f9 SHA1 1cdcacc021a51ad3469ab16b90f43379538629f9 SHA256 632f7865da9f35773fb95df53ae77089e1bbf7aa936b86d0f4b938603a8c37c3 +MD5 206a30d5d0954e1e840af6c4cec49708 files/distcc-freedesktop.patch 2519 +RMD160 98020f40eebe7ca9cd629e602a9ff216df0b97f9 files/distcc-freedesktop.patch 2519 +SHA256 632f7865da9f35773fb95df53ae77089e1bbf7aa936b86d0f4b938603a8c37c3 files/distcc-freedesktop.patch 2519 AUX distcc-gentoo-multilib-r1.patch 4245 RMD160 175cb4c2ce0e8ecb2262165b3fd9a0d89ddc7beb SHA1 f617965969e7b4afd1b6467a56fe0f7f748c7717 SHA256 78839f7392769ab41509e84f07c36d07315d0220f7aacbb174ed1aba80b9c28d MD5 ec06b50c03c5002d4df60e49b9798445 files/distcc-gentoo-multilib-r1.patch 4245 RMD160 175cb4c2ce0e8ecb2262165b3fd9a0d89ddc7beb files/distcc-gentoo-multilib-r1.patch 4245 @@ -51,10 +59,14 @@ EBUILD distcc-2.18.3-r11.ebuild 5719 RMD160 fe3b672e01872ed4142e7095c9004cd258ef MD5 d9f2e20787ad37cce2b5e313141748cc distcc-2.18.3-r11.ebuild 5719 RMD160 fe3b672e01872ed4142e7095c9004cd258ef4d29 distcc-2.18.3-r11.ebuild 5719 SHA256 ee00138d23314faa440ecf93b660071d6ddcc4f74eb9baf50494e9f1c05c0e74 distcc-2.18.3-r11.ebuild 5719 -MISC ChangeLog 30483 RMD160 1349280b3a1b99fcbfa4d05e0a352469e73899a5 SHA1 9c43440c22044b90df5da34be9324d05c6580517 SHA256 ac5497311f052c0b78b47c9fc5264dab79fc62f838f33e6088c262c4280d3f99 -MD5 96841b68765cf2228cd0b86dd6ebe295 ChangeLog 30483 -RMD160 1349280b3a1b99fcbfa4d05e0a352469e73899a5 ChangeLog 30483 -SHA256 ac5497311f052c0b78b47c9fc5264dab79fc62f838f33e6088c262c4280d3f99 ChangeLog 30483 +EBUILD distcc-2.18.3-r12.ebuild 5606 RMD160 32c0f861f7a07e4cd34f778009cdcc787b1c9635 SHA1 2f816fb5ebfc29bd9768af1d22cc8091b788a284 SHA256 d0fa10365d011ce7fcaf69fba9410be72ffaab12d957186e05b2e8f41ffb57de +MD5 ef1091cd8363cace98854659b01ba0e8 distcc-2.18.3-r12.ebuild 5606 +RMD160 32c0f861f7a07e4cd34f778009cdcc787b1c9635 distcc-2.18.3-r12.ebuild 5606 +SHA256 d0fa10365d011ce7fcaf69fba9410be72ffaab12d957186e05b2e8f41ffb57de distcc-2.18.3-r12.ebuild 5606 +MISC ChangeLog 30901 RMD160 821690123ffb7a1510f8f39f55a08d7a26e347ef SHA1 0314c8b6d2052f3a5886c33d54e64de63be32f28 SHA256 e5e31d97b8186d5fd67eddddc3885fc2f4e60ca2f57b3797f3c106d947dac1c7 +MD5 960415e4f39163707d3b0beca03f5f9b ChangeLog 30901 +RMD160 821690123ffb7a1510f8f39f55a08d7a26e347ef ChangeLog 30901 +SHA256 e5e31d97b8186d5fd67eddddc3885fc2f4e60ca2f57b3797f3c106d947dac1c7 ChangeLog 30901 MISC metadata.xml 311 RMD160 1a480ace832e20a2640e7546965d54974058df1c SHA1 29a13cdea1b2f7e4f2edaf1182658647616f34ab SHA256 15a24b4d03798665cf9af1619e2aefb8db4ed4e3b057467620afdf48af395f09 MD5 3c59ce1dc58cc64e18e7cf8c0212785d metadata.xml 311 RMD160 1a480ace832e20a2640e7546965d54974058df1c metadata.xml 311 @@ -65,10 +77,13 @@ SHA256 16cd80dff3cb0d5ddccc99aa4cb46229bb277646da1bc6427337af3ee9b5c738 files/di MD5 4a710a16f64b429d973b7ff710c4034d files/digest-distcc-2.18.3-r11 500 RMD160 e5f79dfd37af3cb1ca28b53dd2eb64169f7f59da files/digest-distcc-2.18.3-r11 500 SHA256 ccf0798ee84a96a45b91c9f49a0b6a3263a2ceeabf9258a84a69e3b6e0aa531c files/digest-distcc-2.18.3-r11 500 +MD5 4a710a16f64b429d973b7ff710c4034d files/digest-distcc-2.18.3-r12 500 +RMD160 e5f79dfd37af3cb1ca28b53dd2eb64169f7f59da files/digest-distcc-2.18.3-r12 500 +SHA256 ccf0798ee84a96a45b91c9f49a0b6a3263a2ceeabf9258a84a69e3b6e0aa531c files/digest-distcc-2.18.3-r12 500 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.7 (GNU/Linux) -iD8DBQFHfa0HcxLzpIGCsLQRAovfAJ4khYnYT4yfKnXcWaK3AwSu+0/n9gCfR/BJ -hzq6y8rmuAaRbSOq3h1AYbg= -=pk/y +iD8DBQFHfclacxLzpIGCsLQRAsNCAKCdwCQ7vCP8WJv0pK8lYq6k6J/xDgCffMba +CwPd4FlE7dj6Bi/27q/67/Q= +=2R+N -----END PGP SIGNATURE----- diff --git a/sys-devel/distcc/distcc-2.18.3-r12.ebuild b/sys-devel/distcc/distcc-2.18.3-r12.ebuild new file mode 100644 index 000000000000..9574511bf82f --- /dev/null +++ b/sys-devel/distcc/distcc-2.18.3-r12.ebuild @@ -0,0 +1,185 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/distcc-2.18.3-r12.ebuild,v 1.1 2008/01/04 05:54:06 betelgeuse Exp $ + +# If you change this in any way please email lisa@gentoo.org and make an +# entry in the ChangeLog (this means you spanky :P). (2004-04-11) Lisa Seelye + +inherit autotools eutils flag-o-matic toolchain-funcs fdo-mime + +PATCHLEVEL="2.18-r1" + +DESCRIPTION="a program to distribute compilation of C code across several machines on a network" +HOMEPAGE="http://distcc.samba.org/" +SRC_URI="http://distcc.samba.org/ftp/distcc/distcc-${PV}.tar.bz2 + mirror://gentoo/${PN}-2.18-avahi.patch.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="avahi gnome gtk selinux ipv6" + +COMMON_DEP="dev-libs/popt + avahi? ( >=net-dns/avahi-0.6.5 )" +DEPEND="|| ( >=sys-devel/gcc-config-1.3.1 app-admin/eselect-compiler ) + userland_GNU? ( sys-apps/shadow ) + dev-util/pkgconfig + dev-util/unifdef + ${COMMON_DEP}" +RDEPEND=" + gnome? ( + >=x11-libs/gtk+-2.0.0 + >=gnome-base/libgnome-2.0.0 + >=gnome-base/libgnomeui-2.0.0.0 + >=gnome-base/libglade-2.0.0 + x11-libs/pango + >=gnome-base/gconf-2.0.0 + ) + gtk? ( + >=x11-libs/gtk+-2.0.0 + x11-libs/pango + ) + selinux? ( sec-policy/selinux-distcc ) + ${COMMON_DEP}" + +pkg_setup() { + if use avahi && ! built_with_use net-dns/avahi dbus; then + eerror "${CATEGORY}/${PN} needs net-dns/avahi built with the dbus use" + eerror "flag for avahi support." + die "net-dns/avahi not built with dbus support" + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # -Wl,--as-needed to close bug #128605 + epatch "${FILESDIR}/distcc-as-needed.patch" + + # See bug #75420 for more multilib stuff + epatch "${FILESDIR}/distcc-gentoo-multilib-r1.patch" + einfo "Please report to bug #75420 success or failure of this patch." + + epatch "${FILESDIR}/distcc-freedesktop.patch" + epatch "${FILESDIR}/distcc-create-dir.patch" + + rm -v popt/*.c || die + if use avahi; then + epatch "${DISTDIR}/${PN}-2.18-avahi.patch.bz2" + epatch "${FILESDIR}/${PN}-avahi-configure.patch" + eautoreconf + fi +} + +src_compile() { + local myconf="--without-included-popt " + + #More legacy stuff? + [ `gcc-major-version` -eq 2 ] && filter-lfs-flags + + if use ipv6; then + ewarn "To use IPV6 you must have IPV6 compiled into your kernel" + ewarn "either via a module or compiled code" + ewarn "You can recompile without ipv6 with: USE='-ipv6' emerge distcc" + myconf=" ${myconf} --enable-rfc2553 " + epause 5 + fi + econf ${myconf} $(use_enable avahi) $(use_with gnome) $(use_with gtk) || die "econf ${myconf} failed" + emake || die "emake failed" +} + +handle_avahi() { + local avahi="-UAVAHI" + use avahi && avahi="-DAVAHI" + unifdef ${avahi} "${1}" > "${2}" +} + +src_install() { + make DESTDIR="${D%/}" install + + insinto /usr/share/doc/${PN} + doins "${S}/survey.txt" + + exeinto /usr/bin + doexe "${FILESDIR}/distcc-config" + + handle_avahi "${FILESDIR}/${PATCHLEVEL}/init" "${T}/init" + newinitd "${T}/init" distccd || die + + handle_avahi "${FILESDIR}/${PATCHLEVEL}/conf" "${T}/conf" + newconfd "${T}/conf" distccd || die + + # create and keep the symlink dir + dodir /usr/lib/distcc/bin + keepdir /usr/lib/distcc/bin + + # create the distccd pid directory + dodir /var/run/distccd + keepdir /var/run/distccd + + if use gnome || use gtk; then + einfo "Renaming /usr/bin/distccmon-gnome to /usr/bin/distccmon-gui" + einfo "This is to have a little sensability in naming schemes between distccmon programs" + mv "${D}/usr/bin/distccmon-gnome" "${D}/usr/bin/distccmon-gui" || die + dosym /usr/bin/distccmon-gui /usr/bin/distccmon-gnome + fi + +} + +pkg_preinst() { + # non-/ installs don't require us to do anything here + [ "${ROOT}" != "/" ] && return 0 + + # stop daemon since script is being updated + [ -n "$(pidof distccd)" -a -x /etc/init.d/distccd ] && \ + /etc/init.d/distccd stop +} + +pkg_postinst() { + fdo-mime_desktop_database_update + + #are we doing bootstrap with has no useradd? + if [[ ${CHOST} != *-*-gnu && ${CHOST} != *-linux* ]] || [ -x /usr/sbin/useradd ]; then + enewuser distcc 240 + else + ewarn "You do not have useradd (bootstrap) from shadow so I didn't" + ewarn "install the distcc user. Note that attempting to start the daemon" + ewarn "will fail. Please install shadow and re-emerge distcc." + ebeep 2 + fi + + # By now everyone should be using the right envfile + + if [ "${ROOT}" = "/" ]; then + einfo "Installing links to native compilers..." + /usr/bin/distcc-config --install + else + # distcc-config can *almost* handle ROOT installs itself + # but for now, but user must finsh things off + ewarn "*** Installation is not complete ***" + ewarn "You must run the following as root:" + ewarn " /usr/bin/distcc-config --install" + ewarn "after booting or chrooting into ${ROOT}" + fi + einfo "Setting permissions on ${ROOT}var/run/distccd" + chown -R distcc:daemon "${ROOT}var/run/distccd" + echo "" + + einfo "Tips on using distcc with Gentoo can be found at" + einfo "http://www.gentoo.org/doc/en/distcc.xml" + echo "" + einfo "To use the distccmon programs with Gentoo you should use this command:" + einfo " DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text N" + use gnome || use gtk && einfo "Or: DISTCC_DIR=/var/tmp/portage/.distcc distccmon-gnome" + + ewarn "***SECURITY NOTICE***" + ewarn "If you are upgrading distcc please make sure to run etc-update to" + ewarn "update your /etc/conf.d/distccd and /etc/init.d/distccd files with" + ewarn "added security precautions (the --listen and --allow directives)" + ebeep 5 +} + +pkg_postrm() { + fdo-mime_desktop_database_update +} diff --git a/sys-devel/distcc/files/digest-distcc-2.18.3-r12 b/sys-devel/distcc/files/digest-distcc-2.18.3-r12 new file mode 100644 index 000000000000..9a3c09aebb4a --- /dev/null +++ b/sys-devel/distcc/files/digest-distcc-2.18.3-r12 @@ -0,0 +1,6 @@ +MD5 8310f09bef99fe272faec803e5931dd9 distcc-2.18-avahi.patch.bz2 9447 +RMD160 eaf358bc417566bb8cf7ea005ce853df880f4e49 distcc-2.18-avahi.patch.bz2 9447 +SHA256 1c6fb40b57385870b267d3ce4285ba3fa32e57a335cfcd3b96f4f9a36645a97f distcc-2.18-avahi.patch.bz2 9447 +MD5 0d6b80a1efc3a3d816c4f4175f63eaa2 distcc-2.18.3.tar.bz2 341601 +RMD160 c7ac6f3e161dccf39b841b57a3328b4208d28c2d distcc-2.18.3.tar.bz2 341601 +SHA256 6500f1bc2a30b1f044ebed79c6ce15457d1712263e65f0db7d6046af262ba434 distcc-2.18.3.tar.bz2 341601 diff --git a/sys-devel/distcc/files/distcc-create-dir.patch b/sys-devel/distcc/files/distcc-create-dir.patch new file mode 100644 index 000000000000..8c818e1bd8ac --- /dev/null +++ b/sys-devel/distcc/files/distcc-create-dir.patch @@ -0,0 +1,56 @@ +* local directory is at mbp@sourcefrog.net--2004/distcc--devel--2--patch-183 +* comparing to mbp@sourcefrog.net--2004/distcc--devel--2--patch-183 +M ./src/tempfile.c + +* modified files + +--- orig/src/tempfile.c ++++ mod/src/tempfile.c +@@ -145,7 +145,7 @@ + int dcc_get_top_dir(char **path_ret) + { + char *env; +- static char *cached; ++ static char *cached = NULL; + int ret; + + if (cached) { +@@ -154,22 +154,23 @@ + } + + if ((env = getenv("DISTCC_DIR"))) { +- if ((cached = strdup(env)) == NULL) { ++ ++ if ((cached = strdup(env)) == NULL) + return EXIT_OUT_OF_MEMORY; +- } else { ++ else + *path_ret = cached; +- return 0; +- } +- } + +- if ((env = getenv("HOME")) == NULL) { +- rs_log_warning("HOME is not set; can't find distcc directory"); +- return EXIT_BAD_ARGUMENTS; +- } ++ } else { + +- if (asprintf(path_ret, "%s/.distcc", env) == -1) { +- rs_log_error("asprintf failed"); +- return EXIT_OUT_OF_MEMORY; ++ if ((env = getenv("HOME")) == NULL) { ++ rs_log_warning("HOME is not set; can't find distcc directory"); ++ return EXIT_BAD_ARGUMENTS; ++ } ++ ++ if (asprintf(path_ret, "%s/.distcc", env) == -1) { ++ rs_log_error("asprintf failed"); ++ return EXIT_OUT_OF_MEMORY; ++ } + } + + ret = dcc_mkdir(*path_ret); + + + diff --git a/sys-devel/distcc/files/distcc-freedesktop.patch b/sys-devel/distcc/files/distcc-freedesktop.patch new file mode 100644 index 000000000000..26981097f2dc --- /dev/null +++ b/sys-devel/distcc/files/distcc-freedesktop.patch @@ -0,0 +1,84 @@ +* local directory is at mbp@sourcefrog.net--2004/distcc--devel--2--patch-183 +* comparing to mbp@sourcefrog.net--2004/distcc--devel--2--patch-183 +M src/mon-gnome.c +M Makefile.in +M gnome/distccmon-gnome.desktop + +* modified files + +--- orig/Makefile.in ++++ mod/Makefile.in +@@ -45,11 +45,12 @@ + includedir = @includedir@ + oldincludedir = /usr/include + docdir = @docdir@ +-pkgdatadir = $(datadir)/@PACKAGE_NAME@ ++icondir = $(datadir)/pixmaps ++desktopdir = $(datadir)/applications + + # These must be done from here, not from autoconf, because they can + # contain variable expansions written in Make syntax. Ew. +-DIR_DEFS = -DSYSCONFDIR="\"${sysconfdir}\"" -DPKGDATADIR="\"${pkgdatadir}\"" ++DIR_DEFS = -DSYSCONFDIR="\"${sysconfdir}\"" -DICONDIR="\"${icondir}\"" + + # arguments to pkgconfig + GNOME_PACKAGES = @GNOME_PACKAGES@ +@@ -508,7 +509,8 @@ + @echo " documents $(DESTDIR)$(docdir)" + @echo " programs $(DESTDIR)$(bindir)" + @echo " system configuration $(DESTDIR)$(sysconfdir)" +- @echo " shared data files $(DESTDIR)$(pkgdatadir)" ++ @echo " icons $(DESTDIR)$(icondir)" ++ @echo " .desktop file $(DESTDIR)$(desktopdir)" + + + # install-sh can't handle multiple arguments, but we don't need any +@@ -541,8 +543,8 @@ + done + + install-gnome-data: $(gnome_data) +- $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) +- for p in $^; do \ +- $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir) || exit 1; \ +- done ++ $(mkinstalldirs) $(DESTDIR)$(icondir) ++ $(mkinstalldirs) $(DESTDIR)$(desktopdir) ++ $(INSTALL_DATA) gnome/distccmon-gnome-icon.png $(DESTDIR)$(icondir) ++ $(INSTALL_DATA) gnome/distccmon-gnome.desktop $(DESTDIR)$(desktopdir) + + + +--- orig/gnome/distccmon-gnome.desktop ++++ mod/gnome/distccmon-gnome.desktop +@@ -1,13 +1,11 @@ + [Desktop Entry] +-Version=0.9.4 +-Encoding=UTF-8 + Exec=distccmon-gnome + Name=distcc monitor + GenericName=Distributed Compile Monitor + Comment=Graphical view of distributed compile tasks +-Icon=distccmon-gnome-icon.png ++Icon=distccmon-gnome-icon + TryExec=distccmon-gnome + Terminal=false + Type=Application +-Categories=GNOME;Application;Development; ++Categories=GNOME;Development; + StartupNotify=true + + +--- orig/src/mon-gnome.c ++++ mod/src/mon-gnome.c +@@ -599,7 +599,7 @@ + + #if GTK_CHECK_VERSION(2,2,0) + gtk_window_set_icon_from_file (GTK_WINDOW (mainwin), +- PKGDATADIR "/distccmon-gnome-icon.png", ++ ICONDIR "/distccmon-gnome-icon.png", + NULL); + #endif + + + + |