forked from mirrors/nixpkgs
Merge pull request #160363 from mweinelt/esphome
This commit is contained in:
commit
8a95d27203
|
@ -5,11 +5,11 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "esphome-dashboard";
|
pname = "esphome-dashboard";
|
||||||
version = "20220116.0";
|
version = "20220209.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-eItt7AP96juIaP57yGzW/Fb8NAGsns/4nGWQIMv7Xn8=";
|
sha256 = "sha256-FkFu3SvsowcsOFXvqWmpY3KEypXSb6KcpC/nJbQpDBA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# no tests
|
# no tests
|
||||||
|
|
|
@ -16,21 +16,16 @@ let
|
||||||
in
|
in
|
||||||
with python.pkgs; buildPythonApplication rec {
|
with python.pkgs; buildPythonApplication rec {
|
||||||
pname = "esphome";
|
pname = "esphome";
|
||||||
version = "2022.1.4";
|
version = "2022.2.3";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Pv4Rh92d+Jb3ZKPgKVyrgVHr6PGTcIYybdFavbnjuPA=";
|
sha256 = "sha256-Pt57wI1cYTqT65zGOk1/GyvK0BqITxCzWIyXSNZ9D/0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# fix missing write permissions on src files before modifing them
|
|
||||||
./fix-src-permissions.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# remove all version pinning (E.g tornado==5.1.1 -> tornado)
|
# remove all version pinning (E.g tornado==5.1.1 -> tornado)
|
||||||
sed -i -e "s/==[0-9.]*//" requirements.txt
|
sed -i -e "s/==[0-9.]*//" requirements.txt
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
From f72c5035944065941daaa236b60664657c777726 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Martin Weinelt <hexa@darmstadt.ccc.de>
|
|
||||||
Date: Wed, 23 Jun 2021 04:50:35 +0200
|
|
||||||
Subject: [PATCH] Set u+w for copied src files before trying to overwrite them
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
We store esphome in the nix store, which results in its file permissions
|
|
||||||
being 0444. Esphome, when compiling a firmware image, will copy these
|
|
||||||
files from the nix store to a working directory. When updating between
|
|
||||||
versions it will notice these files changed and try to copy the new
|
|
||||||
version over, which would break, because the user had no write
|
|
||||||
permissions on the files.
|
|
||||||
|
|
||||||
❯ esphome compile 01e4ac.yml
|
|
||||||
INFO Reading configuration 01e4ac.yml...
|
|
||||||
INFO Detected timezone 'CET' with UTC offset 1 and daylight saving time from 27 March 02:00:00 to 30 October 03:00:00
|
|
||||||
INFO Generating C++ source...
|
|
||||||
ERROR Error copying file /nix/store/lmzrgl1arqfd98jcss4rsmmy6dbffddn-esphome-1.19.2/lib/python3.8/site-packages/esphome/components/api/api_connection.cpp to 01e4ac/src/esphome/components/api/api_connection.cpp: [Errno 13] Permission denied: '01e4ac/src/esphome/components/api/api_connection.cpp'
|
|
||||||
|
|
||||||
To fix this we modify chmod to 0644 just before esphome tries a copy
|
|
||||||
operation, which will fix permissions on existing working directories
|
|
||||||
just in time.
|
|
||||||
---
|
|
||||||
esphome/helpers.py | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/esphome/helpers.py b/esphome/helpers.py
|
|
||||||
index ad7b8272..c456f4ff 100644
|
|
||||||
--- a/esphome/helpers.py
|
|
||||||
+++ b/esphome/helpers.py
|
|
||||||
@@ -228,6 +228,10 @@ def copy_file_if_changed(src: os.PathLike, dst: os.PathLike) -> None:
|
|
||||||
if file_compare(src, dst):
|
|
||||||
return
|
|
||||||
mkdir_p(os.path.dirname(dst))
|
|
||||||
+ try:
|
|
||||||
+ os.chmod(dst, 0o644)
|
|
||||||
+ except OSError:
|
|
||||||
+ pass
|
|
||||||
try:
|
|
||||||
shutil.copy(src, dst)
|
|
||||||
except OSError as err:
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
Loading…
Reference in a new issue