Re: [Rpm-maint] [rpm-software-management/rpm] RFC: Removing unneeded internal macros (such as %__ranlib) (#1211)

2020-05-09 Thread Igor Raits
Basically these macros do not seem to belong to RPM at all:

```diff
--- a/macros.in
+++ b/macros.in
@@ -26,35 +26,18 @@
 %__awk @AWK@
 %__bzip2   @__BZIP2@
 %__cat @__CAT@
-%__chgrp   @__CHGRP@
 %__chmod   @__CHMOD@
-%__chown   @__CHOWN@
-%__cp  @__CP@
-%__cpio@__CPIO@
-%__file@__FILE@
 %__gpg @__GPG@
-%__grep@__GREP@
 %__gzip@__GZIP@
-%__id  @__ID@
-%__id_u%{__id} -u
 %__install @__INSTALL@
-%__ln_s@LN_S@
 %__lrzip   @__LRZIP@
 %__lzip@__LZIP@
-# Deprecated, use %__xz instead.
-%__lzma%__xz --format=lzma
 %__xz  @__XZ@
 %__make@__MAKE@
 %__mkdir   @__MKDIR@
 %__mkdir_p @__MKDIR_P@
-%__mv  @__MV@
 %__patch   @__PATCH@
-%__restorecon  @__RESTORECON@
 %__rm  @__RM@
-%__rsh @__RSH@
-%__sed @__SED@
-%__semodule@__SEMODULE@
-%__ssh @__SSH@
 %__tar @__TAR@
 %__unzip   @__UNZIP@
 %__zstd@__ZSTD@
@@ -67,17 +50,7 @@
 #==
 #  Build system path macros.
 #
-%__ar  @AR@
-%__as  @AS@
-%__cc  @__CC@
-%__cpp @CPP@
-%__cxx @CXX@
-%__ld  @__LD@
-%__nm  @__NM@
-%__objcopy @__OBJCOPY@
 %__objdump @__OBJDUMP@
-%__ranlib  @RANLIB@
-%__remsh   %{__rsh}
 %__strip   @__STRIP@
 
 #==
@@ -149,9 +122,6 @@
 #  The interpreter used for build scriptlets.
 %_buildshell   /bin/sh
 
-#  The path to the bzip2 executable (legacy, use %{__bzip2} instead).
-%_bzip2bin %{__bzip2}
-
 #  The location of the rpm database file(s).
 %_dbpath   %{_var}/lib/rpm
 
@@ -227,9 +197,6 @@ package or when debugging this package.\
 %__global_requires_exclude_from%{?_docdir:%{_docdir}}
 %__global_provides_exclude_from%{?_docdir:%{_docdir}}
 
-#  The path to the gzip executable (legacy, use %{__gzip} instead).
-%_gzipbin  %{__gzip}
-
 #  The Unix time of the latest kept changelog entry in binary packages.
 #  Any older entry is not packaged in binary packages.
 %_changelog_trimtime   0
@@ -278,9 +245,6 @@ package or when debugging this package.\
 #  Path to top of build area.
 %_topdir   %{getenv:HOME}/rpmbuild
 
-#  The path to the unzip executable (legacy, use %{__unzip} instead).
-%_unzipbin %{__unzip}
-
 #==
 #  Optional rpmrc macros.
 #  Macros that are initialized as a side effect of rpmrc and/or spec
@@ -343,16 +307,6 @@ package or when debugging this package.\
 #  
 %_install_langsall
 
-#  The value of CLASSPATH in build scriptlets (iff configured).
-#  
-#%_javaclasspath   all
-
-#  Import packaging conventions from jpackage.org (prefixed with _
-#  to avoid name collisions).
-#  
-%_javadir  %{_datadir}/java
-%_javadocdir   %{_datadir}/javadoc
-
 
 #  Set ModularityLabel: for packages being build
 #
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1211#issuecomment-626277055___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] RFC: Removing unneeded internal macros (such as %__ranlib) (#1211)

2020-05-09 Thread Igor Raits
I was looking into the macros which RPM ships and there are many things like 
aforementioned %__ranlib which is not used in the RPM at all but has been there 
forever (at least from 1998).

>From what I understand, %__* is supposed to be something which can affect RPM 
>itself, the %_* is for internal variables for macros and %* is for users. Is 
>it time to remove those which are not used by RPM and make distributions to 
>set them up if they need them? Preferably not with double-underscore prefix.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1211___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] WIP: RFC: Buildsystem overhaul (meson) (#1209)

2020-05-09 Thread ニール・ゴンパ
In general, I consider Python to be not as problematic of a base dependency as 
the dependencies for autotools, which are the following:

* bash
* m4
* perl (!!!)
* help2man
* make
* texinfo (!!!)

Now of course, most of this is hidden from you because autotools output is 
stored in source tarballs released by projects (including rpm). In _that_ 
scenario, you just need POSIX shell, make, and libtool.

That said, if people _really_ think Python is a problem, I'm all in favor of 
CMake here. The rest of the package manager stack maintained in this 
organization uses it. Heck, openSUSE's Zypper uses it! Debian's apt uses it too 
(they switched from their crazy half autotools half plain make system to CMake 
~3 years ago).

The ergonomics of CMake are well-known at this point (thanks to KDE and 
friends) and it's relatively trivial to bootstrap for builds. The portability 
of CMake is so much better than Autotools as well. CMake is also highly well 
supported in IDEs and text editors on all major platforms and several minor 
ones.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1209#issuecomment-626266937___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] Fwd: Errors in rpm man pages

2020-05-09 Thread Helge Kreutzmann
Dear rpm maintainers,
(please see also the NOTE at the end)

the manpage-l10n project maintains a large number of translations of
man pages both from a large variety of sources (including rpm) as
well for a large variety of target languages.

During their work translators notice different possible issues in the
original (english) man pages. Sometiems this is a straightforward
typo, sometimes a hard to read sentence, sometimes this is a
convention not held up and sometimes we simply do not understand the
original.

We use several distributions as sources and update regularly (at
least every 2 month). This means we are fairly recent (some
distributions like archlinux also update frequently) but might miss
the latest upstream version once a while, so the error might be
already fixed. We apologize and ask you to close the issue immediately
if this should be the case, but given the huge volume of projects and
the very limited number of volunteers we are not able to double check
each and every issue.

Secondly we translators see the manpages in the neutral po format,
i.e. converted and harmonized, but not the original source (be it man,
groff, xml or other). So we cannot provide a true patch (where
possible), but only an approximation which you need to convert into
your source format.

Finally the issues I'm reporting have accumulated over time and are
not always discovered by me, so sometimes my description of the
problem my be a bit limited - do not hesitate to ask so we can clarify
them.

I'm now reporting the errors for your project. If future reports should
use another channel, please let me know.

Man page: rpm2archive.8
Issue: archive archive? By default rpm contains a cpio archive. Maybe
   archive archive → cpio archive

"rpm2archive - Extract archive archive from RPM Package Manager (RPM) package."
--
Man page: rpmbuild.8
Issue: B<> → I<>

"One of the following basic modes must be selected: B, B, B, B."
--
Man page: rpmbuild.8
Issue: Missing full stop

"Use the database in I rather than the default path I"
--
Man page: rpmbuild.8
Issue: Missing markup for chroot(2)

"Use the file system tree rooted at I for all operations.  Note "
"that this means the database within I will be used for dependency "
"checks and any scriptlet(s) (e.g.  B<%post> if installing, or B<%prep> if "
"building, a package)  will be run after a chroot(2) to I."
--
Man page: rpmbuild.8
Issue: Missing markup for rpm

"The general form of an rpm build command is"

"There are two other ways to invoke building with rpm:"
--
Man page: rpmbuild.8
Issue: Missing markup for %prep etc.

"Build binary and source packages (after doing the %prep, %build, and "
"%install stages)."

"Build a binary package (after doing the %prep, %build, and %install stages)."

"Executes the \"%prep\" stage from the spec file. Normally this involves "
"unpacking the sources and applying any patches."

"Do not execute %prep build stage even if present in spec."
--
Man page: rpmbuild.8
Issue: Missing markup for stage names and "make" commands

"Do the \"%build\" stage from the spec file (after doing the %prep stage).  "
"This generally involves the equivalent of a \"make\"."

"Do the \"%install\" stage from the spec file (after doing the %prep and "
"%build stages).  This generally involves the equivalent of a \"make install"
"\"."
--
Man page: rpmbuild.8
Issue: Missing markup for %files

"Do a \"list check\".  The \"%files\" section from the spec file is macro "
"expanded, and checks are made to verify that each file exists."
--
Man page: rpmbuild.8
Issue: .. → .

"Do not generate debuginfo packages.."
--
Man page: rpmbuild.8
Issue: eg. → e.g.

"Remove the spec file after the build (may also be used standalone, eg. "
"\"B B<--rmspec foo.spec>\")."
--
Man page: rpmbuild.8
Issue: Missing markup for _builddir, -n, untar, %setup, buildSubdir

"Build from locally checked out sources. Sets _builddir to current working "
"directory. Skips handling of -n and untar in the %setup and the deletion of "
"the buildSubdir."
--
Man page: rpmbuild.8
Issue: It is uncommon to have explicit line break in SEE ALSO entries

"B(1),\n"
"B(3),\n"
"B(8),\n"
"B(8),\n"
"B(8)\n"
"B(8),\n"
"B(8),\n"
--
Man page: rpmbuild.8
Issue: Missing markup for %autosetup

"Select the I to use with %autosetup, if one is not set in the spec "
"file.  Note that not all values for I, e.g., B (the default) and "
"B, B, or B work interchangeably with all other patches "
"and options stated in the %autosetup line, especially option B<-p>I."
--
Man page: rpmdb.8
Issue: It is uncommon to have explicit line break in SEE ALSO entries

"B(3),\n"
"B(8),\n"
"B(8),\n"
"B(8),\n"
"B(8),\n"
"B(8),\n"
"B(8),\n"
--
Man page: rpmdiff.1
Issue: The difference between checksum and digest is unclear

" S (size)\n"
" M (mode)\n"
" 5 (checksum)\n"
" D (device)\n"
" N (inode)\n"
" L (number of links)\n"
" V (vflags)\n"
" U (user)\n"
" G (group)\n"
" F (digest)\n"
" T (time)\n"
--
Man page: rpmdiff.1
Issue: The special