Skip to content

Commit fda48b4

Browse files
authored
Xpass 1.2.0 new functions (#4329)
1 parent 4ae1987 commit fda48b4

File tree

4 files changed

+307
-0
lines changed

4 files changed

+307
-0
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- $Revision$ -->
3+
4+
<refentry xml:id="function.rpmdefine" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
5+
<refnamediv>
6+
<refname>rpmdefine</refname>
7+
<refpurpose>Define or change a RPM macro value</refpurpose>
8+
</refnamediv>
9+
10+
<refsect1 role="description">
11+
&reftitle.description;
12+
<methodsynopsis>
13+
<type>bool</type><methodname>rpmdefine</methodname>
14+
<methodparam><type>string</type><parameter>text</parameter></methodparam>
15+
</methodsynopsis>
16+
<para>
17+
Define or change a RPM macro value.
18+
</para>
19+
<para>
20+
This can be used to select the database path and backend to use
21+
instead of system default one.
22+
</para>
23+
24+
</refsect1>
25+
26+
<refsect1 role="parameters">
27+
&reftitle.parameters;
28+
<variablelist>
29+
<varlistentry>
30+
<term><parameter>text</parameter></term>
31+
<listitem>
32+
<para>
33+
Macro name, options, body.
34+
</para>
35+
</listitem>
36+
</varlistentry>
37+
</variablelist>
38+
</refsect1>
39+
40+
<refsect1 role="returnvalues">
41+
&reftitle.returnvalues;
42+
<para>
43+
&return.success;
44+
</para>
45+
</refsect1>
46+
47+
<refsect1 role="examples">
48+
&reftitle.examples;
49+
<para>
50+
<example>
51+
<title>A <function>rpmdefine</function> example</title>
52+
<programlisting role="php">
53+
<![CDATA[
54+
<?php
55+
// use an old database (bdb) from an EL-8 chroot
56+
rpmdefine("_dbpath /var/lib/mock/almalinux-8-x86_64/root/var/lib/rpm");
57+
rpmdefine("_db_backend bdb_ro");
58+
print_r(rpmdbinfo("almalinux-release")[0]["Summary"]);
59+
60+
// use a new database (sqlite) from a Fedora-41 chroot
61+
rpmdefine("_dbpath /var/lib/mock/fedora-41-x86_64/root/usr/lib/sysimage/rpm");
62+
rpmdefine("_db_backend sqlite");
63+
print_r(rpmdbinfo("fedora-release")[0]["Summary"]);
64+
?>
65+
]]>
66+
</programlisting>
67+
&example.outputs;
68+
<screen>
69+
<![CDATA[
70+
AlmaLinux release file
71+
Fedora release files
72+
]]>
73+
</screen>
74+
</example>
75+
</para>
76+
</refsect1>
77+
78+
<refsect1 role="seealso">
79+
&reftitle.seealso;
80+
<para>
81+
<simplelist>
82+
<member><function>rpmexpand</function></member>
83+
<member><function>rpmdbinfo</function></member>
84+
</simplelist>
85+
</para>
86+
</refsect1>
87+
88+
</refentry>
89+
90+
<!-- Keep this comment at the end of the file
91+
Local variables:
92+
mode: sgml
93+
sgml-omittag:t
94+
sgml-shorttag:t
95+
sgml-minimize-attributes:nil
96+
sgml-always-quote-attributes:t
97+
sgml-indent-step:1
98+
sgml-indent-data:t
99+
indent-tabs-mode:nil
100+
sgml-parent-document:nil
101+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
102+
sgml-exposed-tags:nil
103+
sgml-local-catalogs:nil
104+
sgml-local-ecat-files:nil
105+
End:
106+
vim600: syn=xml fen fdm=syntax fdl=2 si
107+
vim: et tw=78 syn=sgml
108+
vi: ts=1 sw=1
109+
-->
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- $Revision$ -->
3+
4+
<refentry xml:id="function.rpmexpand" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
5+
<refnamediv>
6+
<refname>rpmexpand</refname>
7+
<refpurpose>Retrieve expanded value of a RPM macro</refpurpose>
8+
</refnamediv>
9+
10+
<refsect1 role="description">
11+
&reftitle.description;
12+
<methodsynopsis>
13+
<type>string</type><methodname>rpmexpand</methodname>
14+
<methodparam><type>string</type><parameter>text</parameter></methodparam>
15+
</methodsynopsis>
16+
<para>
17+
Retrieve expanded value of a RPM macro.
18+
</para>
19+
20+
</refsect1>
21+
22+
<refsect1 role="parameters">
23+
&reftitle.parameters;
24+
<variablelist>
25+
<varlistentry>
26+
<term><parameter>text</parameter></term>
27+
<listitem>
28+
<para>
29+
Text with RPM macros to expand.
30+
</para>
31+
</listitem>
32+
</varlistentry>
33+
</variablelist>
34+
</refsect1>
35+
36+
<refsect1 role="returnvalues">
37+
&reftitle.returnvalues;
38+
<para>
39+
A <type>string</type> with concatenated macro expansion(s).
40+
</para>
41+
</refsect1>
42+
43+
<refsect1 role="examples">
44+
&reftitle.examples;
45+
<para>
46+
<example>
47+
<title>A <function>rpmexpand</function> example</title>
48+
<programlisting role="php">
49+
<![CDATA[
50+
<?php
51+
$distro = rpmexpand("%{?fedora:Fedora %{fedora}}%{?rhel:Enterprise Linux %{rhel}}");
52+
print_r($distro);
53+
?>
54+
]]>
55+
</programlisting>
56+
&example.outputs;
57+
<screen>
58+
<![CDATA[
59+
Fedora 41
60+
]]>
61+
</screen>
62+
</example>
63+
</para>
64+
</refsect1>
65+
66+
<refsect1 role="seealso">
67+
&reftitle.seealso;
68+
<para>
69+
<simplelist>
70+
<member><function>rpmexpandnumeric</function></member>
71+
</simplelist>
72+
</para>
73+
</refsect1>
74+
75+
</refentry>
76+
77+
<!-- Keep this comment at the end of the file
78+
Local variables:
79+
mode: sgml
80+
sgml-omittag:t
81+
sgml-shorttag:t
82+
sgml-minimize-attributes:nil
83+
sgml-always-quote-attributes:t
84+
sgml-indent-step:1
85+
sgml-indent-data:t
86+
indent-tabs-mode:nil
87+
sgml-parent-document:nil
88+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
89+
sgml-exposed-tags:nil
90+
sgml-local-catalogs:nil
91+
sgml-local-ecat-files:nil
92+
End:
93+
vim600: syn=xml fen fdm=syntax fdl=2 si
94+
vim: et tw=78 syn=sgml
95+
vi: ts=1 sw=1
96+
-->
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- $Revision$ -->
3+
4+
<refentry xml:id="function.rpmexpandnumeric" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
5+
<refnamediv>
6+
<refname>rpmexpandnumeric</refname>
7+
<refpurpose>Retrieve numerical value of a RPM macro</refpurpose>
8+
</refnamediv>
9+
10+
<refsect1 role="description">
11+
&reftitle.description;
12+
<methodsynopsis>
13+
<type>int</type><methodname>rpmexpandnumeric</methodname>
14+
<methodparam><type>string</type><parameter>text</parameter></methodparam>
15+
</methodsynopsis>
16+
<para>
17+
Retrieve numerical value of a RPM macro.
18+
</para>
19+
20+
</refsect1>
21+
22+
<refsect1 role="parameters">
23+
&reftitle.parameters;
24+
<variablelist>
25+
<varlistentry>
26+
<term><parameter>text</parameter></term>
27+
<listitem>
28+
<para>
29+
Text with RPM macros to expand.
30+
</para>
31+
</listitem>
32+
</varlistentry>
33+
</variablelist>
34+
</refsect1>
35+
36+
<refsect1 role="returnvalues">
37+
&reftitle.returnvalues;
38+
<para>
39+
Macro expansion as a <type>int</type>.
40+
Boolean values (<literal>Y</literal> or <literal>y</literal> returns 1,
41+
<literal>N</literal> or <literal>n</literal> returns <literal>0</literal>)
42+
are permitted as well. An undefined macro returns <literal>0</literal>.
43+
</para>
44+
</refsect1>
45+
46+
<refsect1 role="examples">
47+
&reftitle.examples;
48+
<para>
49+
<example>
50+
<title>A <function>rpmexpandnumeric</function> example</title>
51+
<programlisting role="php">
52+
<![CDATA[
53+
<?php
54+
$bits = rpmexpandnumeric("%__isa_bits");
55+
print_r($bits);
56+
?>
57+
]]>
58+
</programlisting>
59+
&example.outputs;
60+
<screen>
61+
<![CDATA[
62+
64
63+
]]>
64+
</screen>
65+
</example>
66+
</para>
67+
</refsect1>
68+
69+
<refsect1 role="seealso">
70+
&reftitle.seealso;
71+
<para>
72+
<simplelist>
73+
<member><function>rpmexpand</function></member>
74+
</simplelist>
75+
</para>
76+
</refsect1>
77+
78+
</refentry>
79+
80+
<!-- Keep this comment at the end of the file
81+
Local variables:
82+
mode: sgml
83+
sgml-omittag:t
84+
sgml-shorttag:t
85+
sgml-minimize-attributes:nil
86+
sgml-always-quote-attributes:t
87+
sgml-indent-step:1
88+
sgml-indent-data:t
89+
indent-tabs-mode:nil
90+
sgml-parent-document:nil
91+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
92+
sgml-exposed-tags:nil
93+
sgml-local-catalogs:nil
94+
sgml-local-ecat-files:nil
95+
End:
96+
vim600: syn=xml fen fdm=syntax fdl=2 si
97+
vim: et tw=78 syn=sgml
98+
vi: ts=1 sw=1
99+
-->

reference/rpminfo/versions.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
<function name='rpminfo' from='PECL rpminfo &gt;= 0.1.0'/>
1313
<function name='rpmvercmp' from='PECL rpminfo &gt;= 0.1.0'/>
1414
<function name='rpmgetsymlink' from='PECL rpminfo &gt;= 1.1.0'/>
15+
<function name='rpmexpand' from='PECL rpminfo &gt;= 1.2.0'/>
16+
<function name='rpmexpandnumeric' from='PECL rpminfo &gt;= 1.2.0'/>
17+
<function name='rpmdefine' from='PECL rpminfo &gt;= 1.2.0'/>
1518
</versions>
1619

1720
<!-- Keep this comment at the end of the file

0 commit comments

Comments
 (0)