[PLDWWW] page changed: packages:rpm
"Jan Rękorajski (baggins)"
baggins at pld-linux.org
Sat Jan 30 17:19:42 CET 2021
rpm.org update info and spec porting notes
--- https://www.pld-linux.org/packages/rpm?rev=1607198637
+++ https://www.pld-linux.org/packages/rpm?rev=1612023582
@@ -1,7 +1,52 @@
====== RPM Package ======
- ===== rpm 4.16 porting status =====
+ ===== rpm5 to rpm.org rpm porting status =====
* [[http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2020-October/025986.html | Sat Oct 24 17:15:09 CEST 2020 rpm.org's rpm 4.16.0 ready for testing ]]
* [[http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2020-October/026002.html | Tue Oct 27 23:21:17 CET 2020 rpm4 on carme ]]
* [[http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2020-December/026050.html | Wed Dec 2 16:08:18 CET 2020 rpm.org, the story so far (summary) ]]
+
+ ===== rpm5 to rpm.org rpm package update =====
+
+ All of the below is fully automated within the package using ''Obsoletes/Provides/Requires'' or ''postinst/posttrans'' scriptlets.
+
+ ==== RPM database format change ====
+
+ Quoting [[https://fedoraproject.org/wiki/Changes/Sqlite_Rpmdb]]
+
+ //The current rpm database implementation is based on Berkeley DB 5.x, a version which is unmaintained upstream for several years now. Berkeley DB 6.x is license incompatible so moving to that is not an option. In addition, the existing rpmdb implementation is notoriously unreliable as it's not transactional and has no other means to detect inconsistencies either.
+
+ Changing to a more sustainable database implementation is long overdue. We propose to change the default rpmdb format to the new sqlite based implementation.//
+
+ * The rpm database format changes from Berkeley DB to SQLite, conversion is automatic after rpm package set update. Backup of the old database is saved as ''/var/lib/rpm.rpmbackup-VERSION-RELEASE'', using version and release of the package that is installed (not the old one). Ex. if the old package was rpm-5.4.15-58 and the new one is rpm-4.16.1.2-1, the backup of the database will be in ''/var/lib/rpm.rpmbackup-4.16.1.2-1''.
+ * Users who have a particular need to stay on Berkeley DB backend can still do so by overriding the configuration manually (eg. ''echo '%_db_backend bdb' >> /etc/rpm/macros'') before updating rpm package.
+ * It is also possible to convert back bu overriding ''_db_backend'' and running ''rpm --rebuilddb''.
+
+ <note warning>Staying with or converting back to Berkeley DB backend is discouraged as rpm upstream plans to reduce Berkeley DB support to read-only.
+ </note>
+
+ ==== Python bindings ====
+
+ While rpm5 provided only Python 2 bindings, rpm.org rpm provides only Python 3 bindings.
+
+ ==== SNMP support ====
+
+ rpm.org rpm does not support hrmib integration.
+
+ ===== Porting packages from rpm5 to rpm.org rpm =====
+
+ * Suggests are now [[http://rpm.org/user_doc/dependencies.html|Recommends]],
+ * ''noautoreq*'' and ''noautoprov*'' must be converted to [[https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/|__requires_exclude* and __provides_exclude*]] respectively.
+ <note>The above is not yet integrated into [[packages:rpm-pld-macros|rpm-pld-macros]]</note>
+ * ''Obsoletes''/''Provides'' must follow the package naming rules, they cannot contain characters like ''()'' or ''/'', what means packages cannot depend on path/files or same virtual dependency names (ex. ''perl::Foo'' is not accepted).
+ * Minor spec syntax changes
+ * Spaces around operators in dependencies are required (ex. BuildRequires: foo-devel'' ''>='' ''1.0)
+ * Bare words are no longer supported, please use "..." (ex. ''%if "%{_lib}" != "lib"'')
+ * Symlinks are always packaged with 777 mode and using ''%attr()'' for symlink is reported as warning
+ * ''Requires(triggerpostun)'' is not supported, replace with ''postun''.
+
+ ===== Spec development =====
+
+ * rpm.org rpm generates ''rpmlib(ShortCircuited)'' dependencies when package is build using ''--short-circuit'' option. To disable that add ''disable_short_circuited_deps 0'' to ~/.rpmrc
+ * Patch is now run with ''--fuzz=0'' option
+ *
Diff URL:
https://www.pld-linux.org/packages/rpm?do=diff&r1=1607198637&r2=1612023582
--
This mail was generated by DokuWiki at
https://www.pld-linux.org/
More information about the pld-cvs-commit
mailing list