get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/686675/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 686675,
    "url": "http://patchwork.ozlabs.org/api/patches/686675/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/buildroot/patch/1477423570-15694-5-git-send-email-bryce.ferguson@rockwellcollins.com/",
    "project": {
        "id": 27,
        "url": "http://patchwork.ozlabs.org/api/projects/27/?format=api",
        "name": "Buildroot development",
        "link_name": "buildroot",
        "list_id": "buildroot.buildroot.org",
        "list_email": "buildroot@buildroot.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1477423570-15694-5-git-send-email-bryce.ferguson@rockwellcollins.com>",
    "list_archive_url": null,
    "date": "2016-10-25T19:26:07",
    "name": "[v13,5/8] busybox: applets as individual binaries",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "8e6ea29c216b42bba530cfae7c289dd5a439038f",
    "submitter": {
        "id": 70083,
        "url": "http://patchwork.ozlabs.org/api/people/70083/?format=api",
        "name": "Bryce Ferguson",
        "email": "bryce.ferguson@rockwellcollins.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/buildroot/patch/1477423570-15694-5-git-send-email-bryce.ferguson@rockwellcollins.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/686675/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/686675/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<buildroot-bounces@busybox.net>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "buildroot@lists.busybox.net"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "buildroot@osuosl.org"
        ],
        "Received": [
            "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3t3NTV4D4Fz9sD6\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 26 Oct 2016 06:27:42 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 1666B920A8;\n\tTue, 25 Oct 2016 19:27:41 +0000 (UTC)",
            "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id lWAh5wm8s12h; Tue, 25 Oct 2016 19:27:36 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id CBF179203B;\n\tTue, 25 Oct 2016 19:26:47 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id C076A1C1E97\n\tfor <buildroot@lists.busybox.net>;\n\tTue, 25 Oct 2016 19:26:35 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id ACC2931B14\n\tfor <buildroot@lists.busybox.net>;\n\tTue, 25 Oct 2016 19:26:35 +0000 (UTC)",
            "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id wN3SvCT7asxp for <buildroot@lists.busybox.net>;\n\tTue, 25 Oct 2016 19:26:34 +0000 (UTC)",
            "from da1vs01.rockwellcollins.com (da1vs01.rockwellcollins.com\n\t[205.175.227.27])\n\tby silver.osuosl.org (Postfix) with ESMTPS id D1DCA31B0C\n\tfor <buildroot@buildroot.org>; Tue, 25 Oct 2016 19:26:33 +0000 (UTC)",
            "from ofwda1n02.rockwellcollins.com (HELO\n\tdtulimr01.rockwellcollins.com) ([205.175.227.14])\n\tby da1vs01.rockwellcollins.com with ESMTP; 25 Oct 2016 14:26:33 -0500"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "X-Received": "from largo.rockwellcollins.com (unknown [192.168.140.76])\n\tby dtulimr01.rockwellcollins.com (Postfix) with ESMTP id E5470601D8; \n\tTue, 25 Oct 2016 14:26:32 -0500 (CDT)",
        "From": "Bryce Ferguson <bryce.ferguson@rockwellcollins.com>",
        "To": "buildroot@buildroot.org",
        "Date": "Tue, 25 Oct 2016 14:26:07 -0500",
        "Message-Id": "<1477423570-15694-5-git-send-email-bryce.ferguson@rockwellcollins.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1477423570-15694-1-git-send-email-bryce.ferguson@rockwellcollins.com>",
        "References": "<1477423570-15694-1-git-send-email-bryce.ferguson@rockwellcollins.com>",
        "Cc": "Bryce Ferguson <bryce.ferguson@rockwellcollins.com>,\n\tNiranjan Reddy <niranjan.reddy@rockwellcollins.com>",
        "Subject": "[Buildroot] [PATCH v13 5/8] busybox: applets as individual binaries",
        "X-BeenThere": "buildroot@busybox.net",
        "X-Mailman-Version": "2.1.18-1",
        "Precedence": "list",
        "List-Id": "Discussion and development of buildroot <buildroot.busybox.net>",
        "List-Unsubscribe": "<http://lists.busybox.net/mailman/options/buildroot>,\n\t<mailto:buildroot-request@busybox.net?subject=unsubscribe>",
        "List-Archive": "<http://lists.busybox.net/pipermail/buildroot/>",
        "List-Post": "<mailto:buildroot@busybox.net>",
        "List-Help": "<mailto:buildroot-request@busybox.net?subject=help>",
        "List-Subscribe": "<http://lists.busybox.net/mailman/listinfo/buildroot>,\n\t<mailto:buildroot-request@busybox.net?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "buildroot-bounces@busybox.net",
        "Sender": "\"buildroot\" <buildroot-bounces@busybox.net>"
    },
    "content": "From: Clayton Shotwell <clayton.shotwell@rockwellcollins.com>\n\nThe individual binaries option of busybox allows for the applets\nthat would usually be symlinks to be built as individual applications\nthat link against a shared library.\n\nThis feature is needed for SELinux to allow the applications to run\nunder the correct SELinux context.\n\nThe patch being added allows the individual applications to be\ninstalled and will be upstreamed to the busybox developers.\n\nThe initial work for this change was done by Thomas Petazzoni\n<thomas.petazzoni@free-electrons.com>.\n\nSigned-off-by: Clayton Shotwell <clayton.shotwell@rockwellcollins.com>\nSigned-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>\nReviewed-by: Samuel Martin <s.martin49@gmail.com>\nSigned-off-by: Niranjan Reddy <niranjan.reddy@rockwellcollins.com>\nSigned-off-by: Bryce Ferguson <bryce.ferguson@rockwellcollins.com>\n\n---\nChanges v12 -> v13:\n  - Fixed indentation issue in makedevs.c line:590\n\nChanges v11 -> v12:\n  - No changes\n\nChanges v10 -> v11:\n  - Removed BUSYBOX_MAKEDEV_PERMISSIONS logic and added all 12 applets to\n    BUSYBOX_PERMISSIONS variable.\n  - Changed makedevs.c file to ignore optional files with type=F ( files which does not exist).\n\nChanges v9 -> v10:\n  - Removed 0002-applets-Add-installation-of-individual-binaries.patch as it was upstreamed.\n\nChanges v8 -> v9:\n  - No changes\n\nChanges v7 -> v8:\n  - Changed individual binaries comment to be !BR2_bfin (Suggested by\n    Samuel)\n\nChanges v6 -> v7:\n  - No changes\n\nChanges v5 -> v6:\n  - No changes\n\nChanges v4 -> v5:\n  - Renamed to follow latest patch naming convention (Matt W.)\n  - Updated to use BR2_STATIC_LIBS instead of old PREFERRED (Matt W.)\n  - Added depends to make sure bfin can't build shared lib\n    busybox lib for individual binary use.  Looks like shared\n    lib creation doesn't error out but the objects don't get\n    placed into the elf.  Then the trylink fails on linking\n    the first individual applet. (Matt W.)\n  - Made suid permissions setting dynamic for applets actually being\n    installed (Clayton S.)\n\nChanges v1 -> v4:\n  - Did not exist\n---\n package/busybox/Config.in   |  9 +++++++++\n package/busybox/busybox.mk  | 40 ++++++++++++++++++++++++++++++++++++++++\n package/makedevs/makedevs.c |  2 ++\n 3 files changed, 51 insertions(+)",
    "diff": "diff --git a/package/busybox/Config.in b/package/busybox/Config.in\nindex 7ef3f0e..d4c85b0 100644\n--- a/package/busybox/Config.in\n+++ b/package/busybox/Config.in\n@@ -54,6 +54,15 @@ config BR2_PACKAGE_BUSYBOX_SELINUX\n \t  crond, then individual binaries have to be enabled for the\n \t  SELinux type transitions to occur properly.\n \n+config BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES\n+\tbool \"Individual binaries\"\n+\tdepends on !BR2_STATIC_LIBS\n+\tdepends on !BR2_bfin # libbusybox.so link issue\n+\n+comment \"Busybox individual binaries depends on dynamic libraries\"\n+\tdepends on BR2_STATIC_LIBS\n+\tdepends on !BR2_bfin\n+\n config BR2_PACKAGE_BUSYBOX_WATCHDOG\n \tbool \"Install the watchdog daemon startup script\"\n \thelp\ndiff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk\nindex fc23a90..7d14209 100644\n--- a/package/busybox/busybox.mk\n+++ b/package/busybox/busybox.mk\n@@ -54,9 +54,36 @@ BUSYBOX_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG_FRAG\n BUSYBOX_KCONFIG_EDITORS = menuconfig xconfig gconfig\n BUSYBOX_KCONFIG_OPTS = $(BUSYBOX_MAKE_OPTS)\n \n+ifeq ($(BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES),y)\n+define BUSYBOX_PERMISSIONS\n+\t/usr/share/udhcpc/default.script f 755  0  0 - - - - -\n+# Set permissions on all applets with BB_SUID_REQUIRE and BB_SUID_MAYBE.\n+# 12 Applets are pulled from applets.h using grep command :\n+#  grep -r -e \"APPLET.*BB_SUID_REQUIRE\\|APPLET.*BB_SUID_MAYBE\" \\\n+#  $(@D)/include/applets.h \n+#  o/p:  \n+#   wall,ping,ping6,crontab,findfs,login,mount,passwd,su,traceroute \n+#   traceroute6 and vlock.\n+# These applets are added to the device table and the makedev file\n+# ignores the files with type 'F' ( optional files).\n+\t/usr/bin/wall \t\t\t F 4755 0  0 - - - - -\n+\t/bin/ping \t\t\t f 4755 0  0 - - - - -\n+\t/bin/ping6 \t\t\t F 4755 0  0 - - - - -\n+\t/usr/bin/crontab \t\t f 4755 0  0 - - - - -\n+\t/sbin/findfs \t\t\t F 4755 0  0 - - - - -\n+\t/bin/login \t\t\t F 4755 0  0 - - - - -\n+\t/bin/mount \t\t\t f 4755 0  0 - - - - -\n+\t/usr/bin/passwd \t\t F 4755 0  0 - - - - -\n+\t/bin/su \t\t\t F 4755 0  0 - - - - -\n+\t/usr/bin/traceroute \t\t f 4755 0  0 - - - - -\n+\t/usr/bin/traceroute6 \t\t F 4755 0  0 - - - - -\n+\t/usr/bin/vlock \t\t\t F 4755 0  0 - - - - -\n+endef\n+else\n define BUSYBOX_PERMISSIONS\n \t/bin/busybox                     f 4755 0  0 - - - - -\n endef\n+endif\n \n # If mdev will be used for device creation enable it and copy S10mdev to /etc/init.d\n ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV),y)\n@@ -164,6 +191,17 @@ define BUSYBOX_SET_SELINUX\n endef\n endif\n \n+ifeq ($(BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES),y)\n+define BUSYBOX_CONFIGURE_INDIVIDUAL_BINARIES\n+\t$(call KCONFIG_ENABLE_OPT,CONFIG_BUILD_LIBBUSYBOX,$(BUSYBOX_BUILD_CONFIG))\n+\t$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_INDIVIDUAL,$(BUSYBOX_BUILD_CONFIG))\n+endef\n+\n+define BUSYBOX_INSTALL_INDIVIDUAL_BINARIES\n+\trm -f $(TARGET_DIR)/bin/busybox\n+endef\n+endif\n+\n define BUSYBOX_INSTALL_LOGGING_SCRIPT\n \tif grep -q CONFIG_SYSLOGD=y $(@D)/.config; then \\\n \t\t$(INSTALL) -m 0755 -D package/busybox/S01logging \\\n@@ -221,6 +259,7 @@ define BUSYBOX_KCONFIG_FIXUP_CMDS\n \t$(BUSYBOX_SET_INIT)\n \t$(BUSYBOX_SET_WATCHDOG)\n \t$(BUSYBOX_SET_SELINUX)\n+\t$(BUSYBOX_CONFIGURE_INDIVIDUAL_BINARIES)\n \t$(BUSYBOX_MUSL_TWEAKS)\n endef\n \n@@ -244,6 +283,7 @@ define BUSYBOX_INSTALL_INIT_SYSV\n \t$(BUSYBOX_INSTALL_LOGGING_SCRIPT)\n \t$(BUSYBOX_INSTALL_WATCHDOG_SCRIPT)\n \t$(BUSYBOX_INSTALL_TELNET_SCRIPT)\n+\t$(BUSYBOX_INSTALL_INDIVIDUAL_BINARIES)\n endef\n \n # Checks to give errors that the user can understand\ndiff --git a/package/makedevs/makedevs.c b/package/makedevs/makedevs.c\nindex cacb144..0909e2d 100644\n--- a/package/makedevs/makedevs.c\n+++ b/package/makedevs/makedevs.c\n@@ -587,6 +587,8 @@ int main(int argc, char **argv)\n \t\t\t\tret = EXIT_FAILURE;\n \t\t\t\tgoto loop;\n \t\t\t}\n+\t\t} else if (type == 'F') {\n+           continue; /*Ignore optional files*/\n \t\t} else if (type == 'r') {\n \t\t\trecursive_uid = uid;\n \t\t\trecursive_gid = gid;\n",
    "prefixes": [
        "v13",
        "5/8"
    ]
}