From c7cdee258eba1e3e047930d10b2e5ba360ce340c Mon Sep 17 00:00:00 2001
From: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Date: Sat, 29 Jan 2022 05:18:09 +0100
Subject: [PATCH] Move remaining keys to `setup.cfg` (#65154)

* Move metadata keys

* Move options

* Delete setup.py

* Remove unused constants
* Remove deprecated test_suite key

* Improve metadata

* Only include homeassistant*, not script*
* Add long_desc_content_type
* Remove license file (auto-included by setuptools + wheels)

* Add setup.py

Pip 21.2 doesn't support editable installs without it.
---
 MANIFEST.in |  1 -
 setup.cfg   | 16 +++++++++++++++-
 setup.py    | 30 ++++++------------------------
 3 files changed, 21 insertions(+), 26 deletions(-)
 mode change 100755 => 100644 setup.py

diff --git a/MANIFEST.in b/MANIFEST.in
index 490b550e705..780ffd02719 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,3 @@
 include README.rst
-include LICENSE.md
 graft homeassistant
 recursive-exclude * *.py[co]
diff --git a/setup.cfg b/setup.cfg
index 274e1ac362a..061e0bbc0cb 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,10 +1,13 @@
 [metadata]
+name         = homeassistant
 version      = 2022.3.0.dev0
+author       = The Home Assistant Authors
+author_email = hello@home-assistant.io
 license      = Apache-2.0
-license_file = LICENSE.md
 platforms    = any
 description  = Open-source home automation platform running on Python 3.
 long_description = file: README.rst
+long_description_content_type = text/x-rst
 keywords     = home, automation
 url = https://www.home-assistant.io/
 project_urls =
@@ -23,6 +26,9 @@ classifier =
     Topic :: Home Automation
 
 [options]
+packages = find:
+zip_safe = False
+include_package_data = True
 python_requires = >=3.9.0
 install_requires =
     aiohttp==3.8.1
@@ -51,6 +57,14 @@ install_requires =
     voluptuous-serialize==2.5.0
     yarl==1.7.2
 
+[options.packages.find]
+include =
+    homeassistant*
+
+[options.entry_points]
+console_scripts =
+    hass = homeassistant.__main__:main
+
 [flake8]
 exclude = .venv,.git,.tox,docs,venv,bin,lib,deps,build
 max-complexity = 25
diff --git a/setup.py b/setup.py
old mode 100755
new mode 100644
index febaab62be0..69bf65dd8a4
--- a/setup.py
+++ b/setup.py
@@ -1,25 +1,7 @@
-#!/usr/bin/env python3
-"""Home Assistant setup script."""
-from datetime import datetime as dt
+"""
+Entry point for setuptools. Required for editable installs.
+TODO: Remove file after updating to pip 21.3
+"""
+from setuptools import setup
 
-from setuptools import find_packages, setup
-
-PROJECT_NAME = "Home Assistant"
-PROJECT_PACKAGE_NAME = "homeassistant"
-PROJECT_LICENSE = "Apache License 2.0"
-PROJECT_AUTHOR = "The Home Assistant Authors"
-PROJECT_COPYRIGHT = f" 2013-{dt.now().year}, {PROJECT_AUTHOR}"
-PROJECT_EMAIL = "hello@home-assistant.io"
-
-PACKAGES = find_packages(exclude=["tests", "tests.*"])
-
-setup(
-    name=PROJECT_PACKAGE_NAME,
-    author=PROJECT_AUTHOR,
-    author_email=PROJECT_EMAIL,
-    packages=PACKAGES,
-    include_package_data=True,
-    zip_safe=False,
-    test_suite="tests",
-    entry_points={"console_scripts": ["hass = homeassistant.__main__:main"]},
-)
+setup()
-- 
GitLab