From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 08 Oct 2024 15:24:26 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1syACQ-001pli-0z for lore@lore.pengutronix.de; Tue, 08 Oct 2024 15:24:26 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1syACP-0001et-Px; Tue, 08 Oct 2024 15:24:25 +0200 Received: from mail-germanywestcentralazon11022120.outbound.protection.outlook.com ([40.107.149.120] helo=FR5P281CU006.outbound.protection.outlook.com) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1syAC5-0001ed-Dt; Tue, 08 Oct 2024 15:24:06 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jubUEZ3XtwEogMqXXdOYJJyvvldbHpnSN70Ay1PLDCRASNdlJTPYfL/Z9yPIMWYAcB1sd14spf/DMD5MvkP/5zKNM1SUt5QNh/cUaX5BIiIILMi9TIGgGhrbZjsWbj+8OdrENQW+g6B3RZ6AIIs24wivloWgHmhOrs4g9nQau5wkSCUIKdMSuyvdF7QDrjsOw+HLVrmBn4xzNW0T+aLb122p+5E97mZPXqPPDOSRDLhDwx4eytGjmjc5VIt61K0NNVFGmKDoRSJR1VlZDoFN0ywzkqF5aa2dj8waq/qWndEvPhfPhwK4CQhbv7gYv4WvI1S53cF1qXrelV2WmVAU5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=x2eSpwoSGeKmUo2aDtAdT4ChbNkFTocknr1XuRRIkq0=; b=sSk9U8LMbHQLj/7yvj26OQfZEIojwdKRppei5BlLz8xAk8hzZQZmCVNq0IjavkDvIs1kFFnpdP6PIBsStUqnGVin+Ed3bzlaOKCzTLKwd13HxAIOm7SDGuMppIVn40uYDrZuAoNKwLlDPL+BvpBiaRf6Gh9pIXFNi0myldd8xBa5s0Cr3g3NvhFJzMT/R5GiiGFA7tdRPVv+trGxsrJjMd9940Q29uU2DNPEUGwNx9nMZE4CirfHfP1fq3bQg85W+pn0nJWX9ztXsHhi5zOSm8bupmb5e3iEnXHYbor3R/0NW0c5rGjVN70N78MAPDOjX0WBmfECGxptHOWAsJcpbw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=eckelmann.de; dmarc=pass action=none header.from=eckelmann.de; dkim=pass header.d=eckelmann.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eckelmann.de; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=x2eSpwoSGeKmUo2aDtAdT4ChbNkFTocknr1XuRRIkq0=; b=JtqoSU+rgSxg/qsHMxhgqllAfcGLgPdc7zVYI0nWAP2vb/FqVf0IZYIkXRZ+k1sixg+UN/K0vFHGiriwMVbr/DUCh+bCSfr0sZjxtneEXJICkzUS0wp6qnBREg8B2gRGcfi5X5d7sEmhJuQPmHnmpEHYxyzGmc6OXeu2vXv2EZA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=eckelmann.de; Received: from FRYP281MB2060.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:45::12) by BE1PPFF63ABBF7E.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b18::6ab) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.24; Tue, 8 Oct 2024 13:24:02 +0000 Received: from FRYP281MB2060.DEUP281.PROD.OUTLOOK.COM ([fe80::4374:70bd:95b:8d9d]) by FRYP281MB2060.DEUP281.PROD.OUTLOOK.COM ([fe80::4374:70bd:95b:8d9d%6]) with mapi id 15.20.8026.020; Tue, 8 Oct 2024 13:24:02 +0000 From: Gavin Schenk To: m.olbrich@pengutronix.de Date: Tue, 8 Oct 2024 15:23:31 +0200 Message-ID: <20241008132331.1372881-1-g.schenk@eckelmann.de> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: FR0P281CA0155.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b3::18) To FRYP281MB2060.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:45::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: FRYP281MB2060:EE_|BE1PPFF63ABBF7E:EE_ X-MS-Office365-Filtering-Correlation-Id: dec926cf-ede0-42a2-b1a6-08dce79c798a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|10070799003|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?AjjpyO07GKbpTo88z6Mj8FTe8O7oLYdrX+UZtw/T+wfYfV4hR7mWcRjVnzEA?= =?us-ascii?Q?6uCbSmv4xrOe4tL1GKVgJgakvmNzSzj+XpqAtri8P7Opn92DD0xei0AgynRM?= =?us-ascii?Q?r+Els1Q7uYpkF37WqP3I9Dp0P6+EMXgwgj5QMAHFgy6BREFEGZjnD4Tm2yLe?= =?us-ascii?Q?wNnDv9MQ3mnyzRXVn7I0hbp+s+xnKKmFc/W+dE4L47gqs3C+sbKY5woSJT9e?= =?us-ascii?Q?GPXJPalAHD+EPaXi1cJw/IVz+gRugSK0tinxulWHWZT0tpEQJHQrCnomcwQb?= =?us-ascii?Q?ABupsKaA0YzqOr6iwOoklAJLLec0E2uNEd88K52tSe6c/ekEt2vbZkbhnpdb?= =?us-ascii?Q?kXTGPogZUP99C16j99pU/ktXu5KA/yOibtTH69HI9qCoegmJEGt2whfyYh7f?= =?us-ascii?Q?R5EsjFozpX0DGfnH0YbvEb0iYXW9g875BSQwBvvnUVViG9gosGgwh79SDKV5?= =?us-ascii?Q?gMYS2WRcueOBLwfEzPf2R6EKZW/+FprNGXsQIKgNwc2J2+juH6bJ4m1OrOvO?= =?us-ascii?Q?+0lISllxsCRpCP2rIpLQnn8SBPdoR5k4m8mR8Txau7KE9NZ1ZUwrldaqw3WO?= =?us-ascii?Q?pKDs+TB5uNJ68kAz5y4Zc8Xzoo7VRH3vjPaZM9QmlqpDnrY3C7W2rO4LENxO?= =?us-ascii?Q?/3MZ+/f8K1Et5GczBbUNsFOpyvq3d6S7LKxArD1y9o1o2CjhDaR0nqAczGW7?= =?us-ascii?Q?e1bVv20plnGilyPkIc/FI5Rq0pxa4ygN9N0YUxGROYXOpXtkAD0dgyx/Fz0e?= =?us-ascii?Q?Dj/CV3lrBRxTODDFgY5VFRd1D423gXxvWgzQXV/e5OHn2cWuYvn3TTStOPI2?= =?us-ascii?Q?mJV/37/NLw/0fMqhkktU1pjkH+2Byf4aL+h1kMcrVgZGHqxEEho6bpu66bep?= =?us-ascii?Q?mo51HXhE0X66nKlLk0LXW0BsZSjX2ryE0e+F5lv4hupguJmQzzOKgsRZA8oK?= =?us-ascii?Q?5+gT7eWnqTvuEkJjRhRTbihiPUgR8CsIuhTmmEYWflh87+igSMqCOI5LtDKy?= =?us-ascii?Q?h3qTHjlntq3ySuBfJpQH+wZd/b2gcHPS3wQQX4x/NSXhi0aC+u7f92rC/nni?= =?us-ascii?Q?hPZnl6Ewy2VV1uFT3u0iDGg+/QUJ47/91reC82ZVj7QvflLwggRjlCEXqzWQ?= =?us-ascii?Q?bc5fs2aHr/uOU8A7GOJnqHkZ+SCJZTIn0cMLcnbKbtuDvNUabBe84VjYg+F4?= =?us-ascii?Q?HS4ij5TOpgGqwCwAMM7c65zstSF37tzlKV56ucsTXXHX59BXrQny5VRacmFX?= =?us-ascii?Q?SKZopR59d64ZZotUfMvYXQQh5iLvBS84kNnp4n4wjA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:FRYP281MB2060.DEUP281.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(10070799003)(376014)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?x66xrUIyYfRazcmTRuqHiN5yoaANgf9dhU+Bie6S3CEZy5Blus7X3mQck7PA?= =?us-ascii?Q?CMGXCMNy0lrk4ngTNmE/rgAk1Qn7X9o8AKXY28TnvN3Vu2K70iPkCBqbsd4X?= =?us-ascii?Q?oKdC6Stxg/PoEdjt/Fk53rKmpO3VOzNAEzY6XQM0ElCoNBcjLE3ObxNV4egN?= =?us-ascii?Q?qDWxBtkcyQuaU3DuLIcILuM1mf6JogznzbQ/olQrFQPAn5TtOCkPQKC1RLlQ?= =?us-ascii?Q?CrF3/5xU2b84QDSR34IHBe3jOanZjreighXG+xrwsV1KWBq2hUyACDgt9HNC?= =?us-ascii?Q?exQucI31jaxFw3j6LF4Lf+wrCPjrymUNpQ8xPQ3sjh2TlrapDavaPspdnddd?= =?us-ascii?Q?rWMVlkP/i96SU+CMko7v/BXms+vRc+yxJL1zz7sa6CMDaaRcy8VnVuiyow81?= =?us-ascii?Q?GImdkKiKAY11cjr03Ndip8/M27ktWdj1d502u2iotG9BMxiYiz4zrnMJuZgy?= =?us-ascii?Q?qS/5H7pYimF0A619Z79h0ceTvQcB8r8rUZEmkYwChsvEQykxk/tAfJYesNww?= =?us-ascii?Q?1VPkBeqzctxAqZzNeMaUtdA66KkxXizS9Y1nJpjcPVm4cc8bg1I+tUy4AY5Q?= =?us-ascii?Q?UcjMh+HVXmEEFRHbTsvWTvUYHjhzWij05+AajZ2/Fyii1qC8kkzXgz/w7yp3?= =?us-ascii?Q?0j1Jx2Lc+umXDY5ip/pEyVzJF1kWSiOaAOAv/fWRm7w3F6dBGDu0bjwJE0fC?= =?us-ascii?Q?AKEr9ckNyCTXZNZoMCIFm7r5RUeBkE6MyZ1Ycth07gjXVmx5LOTHj2X4QjpG?= =?us-ascii?Q?KAgMH3j2yYsa6imY9gq8u8CkTFHCdgJwrBnjh4kYQujhz+7bva7HyRJP/gSA?= =?us-ascii?Q?1NhmAk6+I6EmRz/9L12cMIUdby8lpi64edjgqe2tNuxPxxPEATMJH9cmC/8l?= =?us-ascii?Q?swAWmZht+9xN7G9qc+4znImzxLFxSW+8sH/6NNnWKFd54RBs23kyRIYRHrwh?= =?us-ascii?Q?JHWMx8v3LhI1gkes5b3XP/0XVccH65VGHQsv33mjy3QQRxeMEghXDqwPKiMd?= =?us-ascii?Q?QwcteAUqKpUeqv+nSgGJZp4IkMDHLw9wVNDwN9msHS2k4pJKPBIzOoWvFX2x?= =?us-ascii?Q?RLb2IC2KFotRC4Hmmj0LaA4Xw4ZxCSN/yl/0W08+qAM4/h3Y88BbsmQDz/Hq?= =?us-ascii?Q?uknplTG9EA9SdfZwI1dIc9fQZr/Oza8A9u3N5uru5hW04cg1MJHq2t2ZoPlb?= =?us-ascii?Q?SBAbCjhtaNEgbOUByYE9Oam8fK+79jTFWmJeB2R7oXYaLNG6WUrmVoC5g2pI?= =?us-ascii?Q?GZILJIBe+Dyg5yKhEEwVBE9mW6qAjy7N/Yt0WibCma3XeZqA8JGg4fKRRuVD?= =?us-ascii?Q?K6KUYIJN6FDv7q+Htfcw++lYYIij4x9HrG71aB306k+DObslrxLdvzQQZwmE?= =?us-ascii?Q?c3t1JIbJEHZiOJNyku6nZun7Ll+Cufz0BAqR9C0U9jMqmqCYKTB+eD5e7OFR?= =?us-ascii?Q?eyUnWFnNSKo5GDUwId3FO2tQavDWwNbZI7KWUnUmIw4BWUoZE2yhAd4s4uXq?= =?us-ascii?Q?O0g6S8Kwp6G/un3sfYbQAO8UsTFMh37umlwxSU6cZUfcJzmzOUrKKIL9Icuc?= =?us-ascii?Q?2ntWfnqlaiW0qdUb6/Qv4Hxk4Ca7tZ2bKo5m4MaF8ccG6q4OU+uTzWvir9Vn?= =?us-ascii?Q?OwrB9Fz4mM07+2KnUYT5zbfI+TQUGQL4vx/XKi5nR13C?= X-OriginatorOrg: eckelmann.de X-MS-Exchange-CrossTenant-Network-Message-Id: dec926cf-ede0-42a2-b1a6-08dce79c798a X-MS-Exchange-CrossTenant-AuthSource: FRYP281MB2060.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2024 13:24:02.6181 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 62e24f58-823c-4d73-8ff2-db0a5f20156c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dZnCD/TcFVH5WLw33nIbnEb99gGFJXbAkseeKgAK/tjGLISx+oGoEqZfhpCgL8p6zdj93Hyn62h3ErT/cUo7rw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE1PPFF63ABBF7E X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-101.4 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_PASS,SPF_PASS,USER_IN_WELCOMELIST,USER_IN_WHITELIST autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [PATCH v2] hostapd: Add systemd service unit X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Gavin Schenk , ptxdist@pengutronix.de Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false If selected, start hostapd as a systemd service in multi-user.target using a configuration file at the specified file path. Signed-off-by: Gavin Schenk --- Changes in v2: - depends on initmethod systemd - Remove ability to rename config file in order to reduce overall complexity - provide dummy config /etc/hostapd/hostapd.conf - use menuconfig in hostapd.in My motivation for the patch was to remove local customization in the BSP. Unfortunately, without the option to rename the configuration, I must continue to to maintain local changes. Does this patch add value or should we discard it? projectroot/etc/hostapd/hostapd.conf | 2 ++ .../usr/lib/systemd/system/hostapd.service | 15 +++++++++++++++ rules/hostapd.in | 15 +++++++++++++-- rules/hostapd.make | 9 +++++++++ 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 projectroot/etc/hostapd/hostapd.conf create mode 100644 projectroot/usr/lib/systemd/system/hostapd.service diff --git a/projectroot/etc/hostapd/hostapd.conf b/projectroot/etc/hostapd/hostapd.conf new file mode 100644 index 000000000..9e425a8c3 --- /dev/null +++ b/projectroot/etc/hostapd/hostapd.conf @@ -0,0 +1,2 @@ +# This is a placeholder. You have to provide a real configuration here. See +# hostapd.conf in package hostapd as a starting point for you own configuration. diff --git a/projectroot/usr/lib/systemd/system/hostapd.service b/projectroot/usr/lib/systemd/system/hostapd.service new file mode 100644 index 000000000..bef52896c --- /dev/null +++ b/projectroot/usr/lib/systemd/system/hostapd.service @@ -0,0 +1,15 @@ +[Unit] +Description=Access point and authentication server for Wi-Fi and Ethernet +After=network.target +ConditionFileNotEmpty=/etc/hostapd/hostapd.conf + +[Service] +Type=forking +PIDFile=/run/hostapd.pid +Restart=on-failure +RestartSec=2 +Environment=DAEMON_CONF=/etc/hostapd/hostapd.conf +ExecStart=/usr/sbin/hostapd -B -P /run/hostapd.pid ${DAEMON_CONF} + +[Install] +WantedBy=multi-user.target diff --git a/rules/hostapd.in b/rules/hostapd.in index 6ac6be52c..9c95fe373 100644 --- a/rules/hostapd.in +++ b/rules/hostapd.in @@ -1,10 +1,10 @@ ## SECTION=networking -config HOSTAPD +menuconfig HOSTAPD tristate select OPENSSL select LIBNL3 - prompt "hostapd" + prompt "hostapd " help IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator @@ -21,3 +21,14 @@ config HOSTAPD authentication without requiring an external RADIUS authentication server), and RADIUS authentication server for EAP authentication. + +if HOSTAPD + +config HOSTAPD_SYSTEMD_UNIT + bool + prompt "Enable systemd support" + depends on INITMETHOD_SYSTEMD + help + Install systemd units to start this service on startup. + +endif diff --git a/rules/hostapd.make b/rules/hostapd.make index 2d061b5d4..11b5ca1b0 100644 --- a/rules/hostapd.make +++ b/rules/hostapd.make @@ -74,6 +74,15 @@ $(STATEDIR)/hostapd.targetinstall: @$(call install_copy, hostapd, 0, 0, 0755, -, /usr/sbin/hostapd) @$(call install_alternative, hostapd, 0, 0, 0644, /etc/hostapd/hostapd.conf) +ifdef PTXCONF_HOSTAPD_SYSTEMD_UNIT + @$(call install_alternative, hostapd, 0, 0, 0644, \ + /usr/lib/systemd/system/hostapd.service) + @$(call install_link, hostapd, ../hostapd.service, \ + /lib/systemd/system/multi-user.target.wants/hostapd.service) + @$(call install_alternative, hostapd, 0, 0, 0644, \ + /etc/hostapd/hostapd.conf) +endif + @$(call install_finish, hostapd) @$(call touch) -- 2.39.5