From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 26 Aug 2024 07:43:57 +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 1siSWC-00DUh2-2h for lore@lore.pengutronix.de; Mon, 26 Aug 2024 07:43:57 +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 1siSWC-0003te-85; Mon, 26 Aug 2024 07:43:56 +0200 Received: from mail-germanywestcentralazon11020082.outbound.protection.outlook.com ([52.101.171.82] helo=FR6P281CU001.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 1siSVp-0003tS-1h for ptxdist@pengutronix.de; Mon, 26 Aug 2024 07:43:33 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T37rtHPo1AdPj8MetSsRhYMyaExmKRQ9qAYAznURRPHc3+03bV8C91d7EvV6KzGeRiUHoZhJOUs2aLF+Mn3cqJ4DakivWlpqFavvWzMUwfusYcJ0HINfFLAI1yGI6Fw460Gk+ZG69U5ClPWl83VlNnZzCqRtxkZRoAZT0RpBptkeLdzB07l7FqP3ltFXo7df+i8PifnBAE6BoCmMQrw8cGkeHRpXW2y02vr6WTyS6pHYDBBFQ0V33RsGtFbwDKL/cgbrYkGJtVcy5sZ0ktWoWH0u32A8WTqNL+ucULl6BaurVwiryWig+Jk6nQ9482sJK38BBtHTqIK5jX/IasPLvg== 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=Mr5d8RvhWN3TMJGdzapq269ydBsMTnN37mFa1lHt+3k=; b=yDWONx/UT+nsK46lxjOF5BOLukIWjbrE5D5+JBX832JBqmDQMNbdb7I9WU+AWuMnaarMZFfWNkMKXJWcrK3Ef0MPMcTZK8nwhxtwkwMuhZKjS/Um+TK8d8r+zgFSUevPl4PBM1Wx/VMwB+y3HHEd2/XlEVi9smn5h6/hWr97IRAvpLUTTuTMd8qFBzQ3w7nWFiCd1ljID5HZwJofkwHsQ4w2M76CJgF1f24R8g8UxPBmKYTpmA4n55yiTKEbG6Vggh1UsCf4VcwKiCplSaUyD+V1Joq4Sinu9/Df/g1hFKFdSD7x1P+hg4A6E1ak9qpREFYkan6sQJRDWdKRX1v6bw== 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=Mr5d8RvhWN3TMJGdzapq269ydBsMTnN37mFa1lHt+3k=; b=X1nfmU9FZpzX3tzHOTZwqkTO8A7IH1PMm9hvdxQZjabMDHEk+p5pGeKaMVKFRW/R8evoNTKKplZy/Ab5lF6jCM8ooiZVLXHf1ugTXYHEDaMg0T5xyRVBHJjmu4Z5Cnt0OgB0kNX7wR6HAIg0w1fEU+V5o4476TRijPmfM8/nJhk= 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 BEZP281MB3105.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:74::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.24; Mon, 26 Aug 2024 05:43:28 +0000 Received: from FRYP281MB2060.DEUP281.PROD.OUTLOOK.COM ([fe80::4374:70bd:95b:8d9d]) by FRYP281MB2060.DEUP281.PROD.OUTLOOK.COM ([fe80::4374:70bd:95b:8d9d%7]) with mapi id 15.20.7897.021; Mon, 26 Aug 2024 05:43:28 +0000 From: Gavin Schenk To: ptxdist@pengutronix.de Date: Mon, 26 Aug 2024 07:43:05 +0200 Message-ID: <20240826054325.1426208-1-g.schenk@eckelmann.de> X-Mailer: git-send-email 2.43.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: FR3P281CA0200.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::15) To FRYP281MB2060.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:45::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: FRYP281MB2060:EE_|BEZP281MB3105:EE_ X-MS-Office365-Filtering-Correlation-Id: cb3403f4-9d06-4ac2-f3b8-08dcc5920314 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?yMUAEOD2BfplNOd0BckUz+AfPGBH78WxVMrt9UxVgQqKXgtavAY8bBZ3M8wG?= =?us-ascii?Q?7x9kkSylQdKP+1dyeV1dlazW9vnEoHbc5nB9zqYIQk17LSQ8C2rDS+b8PQCX?= =?us-ascii?Q?Wf3AXQAA1d0FchhQ4Qt/gLL13AiTkqcVKqca760rxeYTZhZK6q/fK6HOPLvN?= =?us-ascii?Q?hPfHh++ssHpzlTWHXJQwcASUHp9LBL5r/pk6qa8ArpEg5HxvHBccG7o+Ssuw?= =?us-ascii?Q?CGiBoYKT2n/v+RIMkc794ndLSm7ye1faFS3mK6ut6gGthXx5ptAw44+GklqK?= =?us-ascii?Q?EI58k7vUqujbTlasnYIgNOMIZLIgY2u5P+ln30/OCYa6dK1rP5jjncbhResM?= =?us-ascii?Q?eamiQmcGV1YOa+dIOheppqpsxDvLztWihx+XVVUB1g4IRHdyUoFVAsmZHACi?= =?us-ascii?Q?g3BN21lrM3NrkbkbhXoxrC3kX4F/rK9oMQp8Z8bGe1t4pXvnVoFcvKIB6cCr?= =?us-ascii?Q?/TV4PIAmoJg4+TDwRgDISCmZOLcwT62t3BbAKKU9byxtlYNPprcsyOcRdgiD?= =?us-ascii?Q?jyTrjPRnZVFLvg8bRRYzY6mYVSpOZA99MIXGTwlICTdtXZH8Uz6tO3JVP8Y+?= =?us-ascii?Q?INWwpOu4zeJnGzmNbWhUgBGzv1Ea5SfMMNCFnN49IlPPykviQRLDJyAb/LMd?= =?us-ascii?Q?nKvnPEjv3ZXeQ5EYjNKBm1Np9IvfLcmyU49um7Rurf9VcS+9kLClkLdV5vGC?= =?us-ascii?Q?enUx96dsxLsVY1nbR5za1S9WvIoAFJst/6ypqle5sN7wv5x9q1+6iSEKcr7c?= =?us-ascii?Q?K1qHZXCwt06qouYHFwUwZk3GqXlXBqDkj73gLwZvf/RhT6mMVGFIFHzcl6AN?= =?us-ascii?Q?G1Ey7loJOanE0SATHKNy3Q1I/OWS5II7iqCQBHxFBH4yGq5zAZs2LvIRXydT?= =?us-ascii?Q?xN4k2Iz/O2Wau4rA9KmZJRBLMMoRXg34/wRYntYZigP6s823BKv9B5sT8C2Y?= =?us-ascii?Q?vTHOcZ97/v5jexpj0E9Q+wLyIMFpnGOSClfLGDMOgeC+5ILxdU82HGHQytfp?= =?us-ascii?Q?L1G8O0F1cZ1u6xI1iH6rAFikfHja97bp9QGDsIUaOIL9VUOi4+gBBd901Lt1?= =?us-ascii?Q?mpZu5bERWtq91/hBgufnDN5MzzjJuArpZHWrZ0D4VlCuMVNWtRRsmuSN3wlS?= =?us-ascii?Q?7+Twz6R8EX8gGE55onPhftmGNF6Db/M5cQ8dPxEGnjBX4Bd1hR7h5aYGxAY/?= =?us-ascii?Q?A/9P+R/u1Png/5Y3W1UzVIMwdE3OUoczIAEm4cEZGtZEkUuuG2wGWDj2lYPP?= =?us-ascii?Q?XVCQKo5W4b1G0sXB9we+bShX5ocwMIuqdOy9qEfAoZy/isvKt6S3bDzA+gmE?= =?us-ascii?Q?PFVAnw6T5U3ITjr3/J6BXb59uHV+w7w23N77QKVJJHJD5A=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)(1800799024)(376014)(366016); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TWTtM6EXZldQDDIa+h2fOTz6G74UboMKmS/HrdJgbqQ6oC8cbYjgz3r4kItx?= =?us-ascii?Q?r/DZo00hJXaU9N/jIDMw5KmD2lbISROk8B/20aChBUf+sesIOttC5XiwoF4a?= =?us-ascii?Q?gdNz1niqdtgXIC/Hf3Q3/AiBrju8Zt3hSC2XwE1WNPIuRB6wYV/1T+fkMGs0?= =?us-ascii?Q?9Zrc8k23tPh8dujyqNFp6l0f6KKiMEdtmUZblw6R7JC+e3LJzOzvaP0J6vdy?= =?us-ascii?Q?BguA9wCiWYyKOoE5kLuEubck2oKgibM/VjiV+ZQvJgpRqsN4qKQvZlbnZ724?= =?us-ascii?Q?9nMJewtsvM15bWXHMfDPneAlub+WMQPKjjge1E+5hbBhr9pRaCtZz7z90bY2?= =?us-ascii?Q?Jr6es5TmrgOfkr+Kf3XlP6idh19xyWyUE0Q/mBd7I6HGBh/kMh66AAUDyzjn?= =?us-ascii?Q?yZQrswQWCFT4zy7ebI6LTaoV+YDtN+Whw1Uq/MON+ABEqxdELkdlZTG1Vq0Z?= =?us-ascii?Q?JitopADS/sEhAX3gpyfFwPe8EzVitzDJTNiMmeYVh3nHZ9W+fGt1zVwmZ3TT?= =?us-ascii?Q?OWh3pkfclYJf7DaP5wH0LWnw+lbgTSx/t1jejtPB3TaW2bTzjpWBwUcLYAZr?= =?us-ascii?Q?OGn7/ocsRBnxYLJRZzChedBQunTRMBBkMmseItm3cNyZ/nag+KSwLHcjyxB2?= =?us-ascii?Q?7xqyonaXvgfveDUbkrb1dDiDDCqdMMlRrOXr4sqpdS7S5iNEsns23nrDLpCF?= =?us-ascii?Q?d4EAe3hHjsbiIWZ0wliQwjAx62M5XWnMB9HpqUBWqQQpsePvegHrQTepWy2D?= =?us-ascii?Q?nxCnZxDUGMUjKdjhVTxc3cWtMvUBM+c3FeWpjSeLIW9crAVc7nUpv/YQSppk?= =?us-ascii?Q?aooJcMCJhYgIgplv0UPIRE04CwOk2ap/3vsNVyMadl5kGievW/of1sQ8WKH+?= =?us-ascii?Q?0zlAS6Cs8trQzZcE8LahSgVZI+HANVuXcLTbzk6RTBNO6aS0yYgvarMF8ff4?= =?us-ascii?Q?oGcYSBA361DxnvJeg1Kfzj2nlxW1qNbzkzG7iAXRy+vFwQJTUPtOypvf1N/q?= =?us-ascii?Q?rNBjvlvsqNLuVbY28Ob1zkSqMw9kopnWq5I6s6wNKAym+aOPbAp35h9cQfDW?= =?us-ascii?Q?PDvWyuT0p/iQ6E7PT9FWRJb+JlJfJ2MbBpSd9NjnLl7lf4mspljehuzNneQe?= =?us-ascii?Q?rDW8wMoUAgaecJ1f+MMk3AoeCGnCG+d4y+z6ah7GuT5Tyf2gNYVJFtK96Omr?= =?us-ascii?Q?g2s1yqXH5KqVb8NlNVXXxtCQuyI+3uCMtvZE2VJXAZGWUFzdmAKEQcMutpUV?= =?us-ascii?Q?V3fOMRv0NJtO1NYS7Fo12/dKRB3HSgk2YOWCMI+Nt7/gIFTKoT0WHsprBXuk?= =?us-ascii?Q?Mv7c0vEpZFyYVBvXJlSo/v2+azHCVbSsvwyN10fk0sYF5OvbgHNTMuzeL0PO?= =?us-ascii?Q?pkFN/AOKSujQ0j+0CkTvWRyhfBNgGkRTHP2KnldAggjF1xsVK+GzTYfLueZH?= =?us-ascii?Q?CNb/EoOcnQiIUwLRHYP1smg5JOanKvjYRRVuAZNY4YnqqPSj+XGZAzJsGbNX?= =?us-ascii?Q?iMsS2z9ofV4YnncworQ5/hzwNYj0dbIhVaQLGeLbw3Z+E1E00LUx//MFRwIJ?= =?us-ascii?Q?J6PNTVCROwKLecC3H1t8QY5UP6tDoJ2oY2arEMME214Xh++TvAz1OwO5hCtZ?= =?us-ascii?Q?OtlvF6L8VHIcxphNZhYvpC0DNRhjiBNjS0gd6XPTev9HucjcSjwejHa5m9Lq?= =?us-ascii?Q?XY/dQQ=3D=3D?= X-OriginatorOrg: eckelmann.de X-MS-Exchange-CrossTenant-Network-Message-Id: cb3403f4-9d06-4ac2-f3b8-08dcc5920314 X-MS-Exchange-CrossTenant-AuthSource: FRYP281MB2060.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2024 05:43:28.8506 (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: vxZQYVoJJwMCVIOYhMQcbx5M5tfBL4GFpYWSEwmAiv/vx9+tdwOYEGLpaSKZFwePxpeB/z+9gzOZkuoPfXwLFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BEZP281MB3105 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.5 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_WELCOMELIST,USER_IN_WHITELIST autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [PATCH] 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 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. Make it possible to rename the configuration file, if needed. Signed-off-by: Gavin Schenk --- Notes: I based the service file on the one that is shipped with debian, but removed the Documentation node. I removed (for me) unneeded EnvironmentFile=-/etc/default/hostapd and $DAEMON_OPTS as well, RFC. My system is shipped with template /etc/hostapd/hostapd.conf that contains @SSID@ as placeholder. The customer API, configuring WLAN, is to edit this file and place it as /etc/hostapd-device.conf before restarting the machine. This is the reason for HOSTAPD_SYSTEMD_UNIT_CONFIG. .../usr/lib/systemd/system/hostapd.service | 15 ++++++++++++++ rules/hostapd.in | 20 +++++++++++++++++++ rules/hostapd.make | 11 ++++++++++ 3 files changed, 46 insertions(+) create mode 100644 projectroot/usr/lib/systemd/system/hostapd.service diff --git a/projectroot/usr/lib/systemd/system/hostapd.service b/projectroot/usr/lib/systemd/system/hostapd.service new file mode 100644 index 000000000..5e715b60d --- /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=@HOSTAPD_CONFIG_FILEPATH@ + +[Service] +Type=forking +PIDFile=/run/hostapd.pid +Restart=on-failure +RestartSec=2 +Environment=DAEMON_CONF=@HOSTAPD_CONFIG_FILEPATH@ +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..74a0dd45f 100644 --- a/rules/hostapd.in +++ b/rules/hostapd.in @@ -21,3 +21,23 @@ config HOSTAPD authentication without requiring an external RADIUS authentication server), and RADIUS authentication server for EAP authentication. + +if HOSTAPD + +config HOSTAPD_SYSTEMD + prompt "Enable systemd support" + default false + bool + +config HOSTAPD_SYSTEMD_UNIT + default HOSTAPD_SYSTEMD + bool + +config HOSTAPD_SYSTEMD_UNIT_CONFIG + prompt "Configuration file used by unit" + default "/etc/hostapd/hostapd.conf" + string + help + Configuration used, when starting hostapd" + +endif diff --git a/rules/hostapd.make b/rules/hostapd.make index 2d061b5d4..7d3d4ec62 100644 --- a/rules/hostapd.make +++ b/rules/hostapd.make @@ -74,6 +74,17 @@ $(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_replace, hostapd, /usr/lib/systemd/system/hostapd.service, \ + @HOSTAPD_CONFIG_FILEPATH@, \ + "$(call remove_quotes,$(PTXCONF_HOSTAPD_SYSTEMD_UNIT_CONFIG))") + + @$(call install_link, hostapd, ../hostapd.service, \ + /lib/systemd/system/multi-user.target.wants/hostapd.service) +endif + @$(call install_finish, hostapd) @$(call touch) -- 2.39.2