diff --git a/19-RPM.md b/19-RPM.md
index 44076c0cf6334246b08ea914c85eeaa6c506d46c..1d310a92a1f92ee2c55470ce7f62ed5afb5879ee 100644
--- a/19-RPM.md
+++ b/19-RPM.md
@@ -79,11 +79,76 @@ в котором написаны правила и скрипты его сборки в двоичный, готовый к инсталляции
 в операционную систему (ОС). И сам архивный файл `*.tar.gz`, с набором
 этих udev правил.
 
+Загрузим на локальный компьютер т.н. файл **спецификации** и посмотрим
+из чего он состоит:
+
+```
+$ wget -q -O- https://mirror.rosa.ru/rosa/rosa13/repository/SRPMS/main/release/3dprinter-udev-rules-0.3-1.src.rpm\
+ |rpm2cpio|cpio -i 3dprinter-udev-rules.spec
+7 блоков
+
+$ cat 3dprinter-udev-rules.spec
+Summary:	Rules for udev to give regular users access to operate 3D printers
+Name:		3dprinter-udev-rules
+Version:	0.3
+Release:	1
+License:	CC0
+Group:		System/Configuration/Printing
+Url:		https://github.com/hroncok/%{name}
+Source0:	%{url}/archive/v%{version}.tar.gz
+BuildArch:	noarch
+
+%description
+Normally, when you connect a RepRap like 3D printer to a Linux machine by an
+USB cable, you need to be in dialout or similar group to be able to control
+it via OctoPrint, Printrun, Cura or any other control software. Not any more.
+
+Install this rule to grant all users read and write access to collected
+devices based on the VID and PID.
+
+Disclaimer: Such device might not be a 3D printer, it my be an Arduino, it
+might be a modem and it might even be a blender. But normally you would
+add your user to dialout and get access to all of those and more anyway.
+So I guess be careful when some of the users should not get access to
+your blenders.
+
+%files
+%doc LICENSE README.md
+%{_udevrulesdir}/66-3dprinter.rules
+
+#-------------------------------------------------------------------------
+
+%prep
+%setup -q
+
+%build
+# nothing
+
+%install
+install -D -p -m 644 66-3dprinter.rules %{buildroot}%{_udevrulesdir}/66-3dprinter.rules
+
+```
+
+Первые строки, начинающиеся лексеммами по правилам переменных,
+имена которых завершаются перед двоеточиями, после которых идут значения, вплоть
+до пустой строки, представляют собой ни что иное, как заголовок.
+Применяется механизм разыменования (интерпретациии), если лексемма начинается
+знаком процента (`%`). Для явного обозначения имени разыменованной переменной
+могут применяться фигурные скобки, её обрамляющие (`{}`).
+Весь этот механизм представляет из себя макроподстановки.
+
+После того, как в спек-файле макросы проинициализировались, после пустой строки
+за заголовком, идут секции, начинающиеся директивами.
+Директивы начинаются со знаков процента, и имеют специальное назначение.
+
+В начале директива `%description` начинает подробное описание всего
+RPM-пакета, там указывается назначение, функциональные возможности,
+но не больше, чем можно позволить в документации в отдельных файлах.
+
+
 ------------
 
 
-* Спеки
-* Директивы
 * Макросы
 * PRE/POST инсталляционные скрипты
 
