# # built-in perl-macro # macros.perl file # macros for perl module building. handle with care. # Useful perl macros (from Artur Frysiak ) # %define perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch) %define perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib) %define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) %define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib) %define perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib) %define perl_privlib %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib) # More useful perl macros (from Raul Dias ) # %define perl_version %(perl -V:version | sed "s!.*='!!;s!'.*!!") %define perl_man1ext %(perl -V:man1ext | sed "s!.*='!!;s!'.*!!") %define perl_man3ext %(perl -V:man3ext | sed "s!.*='!!;s!'.*!!") %define perl_man1dir %(perl -V:man1dir | sed "s!.*='!!;s!'.*!!") %define perl_man3dir %(perl -V:man3dir | sed "s!.*='!!;s!'.*!!") %define perl_installman1dir %(perl -V:installman1dir | sed "s!.*='!!;s!'.*!!") %define perl_installman3dir %(perl -V:installman3dir | sed "s!.*='!!;s!'.*!!") %define perl_installarchlib %(perl -V:installarchlib | sed "s!.*='!!;s!'.*!!") %define perl_prefix %{buildroot} # Macro to encapsulate perl requires (empty for fedora) # we keep the complicated form even here to easy sync the other macros with # perl-macros package # %define perl_requires() \ %if 0%{?suse_version} > 0 \ Requires: perl(:MODULE_COMPAT_%{perl_version}) \ %endif %define libperl_requires() \ %if 0%{?suse_version} > 0 \ Requires: perl = %{perl_version} \ %endif # suse specific macros # %define perl_make_install make DESTDIR=$RPM_BUILD_ROOT install_vendor %define perl_process_packlist(n:) \ if test -n "$RPM_BUILD_ROOT" -a -d $RPM_BUILD_ROOT%perl_vendorarch/auto; then \ find $RPM_BUILD_ROOT%perl_vendorarch/auto -name .packlist -print0 | xargs -0 -r rm \ if [ %{_target_cpu} == noarch ]; then \ find $RPM_BUILD_ROOT%perl_vendorarch/auto -depth -type d -print0 | xargs -0 -r rmdir \ fi \ fi \ rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod \ %nil # macro: perl_gen_filelist (from Christian ) # do the rpmlint happy filelist generation # with %dir in front of directories # %define perl_gen_filelist(n)\ FILES=%{name}.files\ # fgen_dir func\ # IN: dir\ fgen_dir(){\ %{__cat} >> $FILES << EOF\ %dir ${1}\ EOF\ }\ # fgen_file func\ # IN: file\ fgen_file(){\ %{__cat} >> $FILES << EOF\ ${1}\ EOF\ }\ # check for files in %{perl_vendorlib}\ RES=`find ${RPM_BUILD_ROOT}%{perl_vendorlib} -maxdepth 1 -type f`\ if [ -n "$RES" ]; then\ for file in $RES; do\ fgen_file "%{perl_vendorlib}/$(basename ${file})"\ done\ fi\ \ # get all dirs into array\ base_dir="${RPM_BUILD_ROOT}%{perl_vendorlib}/"\ for dir in `find ${base_dir} -type d | sort`; do\ if [ "$dir" = "${base_dir}" ]; then\ continue\ else\ el=${dir#$base_dir}\ all_dir=(${all_dir[@]} $el)\ fi\ done\ \ # build filelist\ for i in ${all_dir[@]}; do\ # do not add "dir {perl_vendorlib/arch}/auto", included in perl package\ if [ "${i}" = "auto" ]; then\ continue\ fi\ if [ "%{perl_vendorlib}/${i}" = "%{perl_vendorarch}/auto" ]; then\ continue\ else\ if [ -d ${base_dir}/${i} ]; then\ if [ "%{perl_vendorlib}/${i}" != "%{perl_vendorarch}" ]; then\ fgen_dir "%{perl_vendorlib}/${i}"\ fi\ RES=`find "${base_dir}/${i}" -maxdepth 1 -type f`\ for file in $RES; do\ fgen_file "%{perl_vendorlib}/${i}/$(basename ${file})"\ done\ fi\ fi\ done\ # add man pages\ # if exist :)\ if [ -d "${RPM_BUILD_ROOT}%{_mandir}" ]; then\ for file in `cd "${RPM_BUILD_ROOT}%{_mandir}" && find . -type f -name "*3pm*"`; do \ if test -e "%{_mandir}/$file" -o -e "%{_mandir}/$file.gz"; then \ mv ${RPM_BUILD_ROOT}%{_mandir}/$file ${RPM_BUILD_ROOT}%{_mandir}/${file/3pm/3pmc} \ fi \ done \ fgen_file "%{_mandir}/man?/*"\ fi\ \ # add packlist file\ # generated fom perllocal.pod\ if [ -f "${RPM_BUILD_ROOT}/var/adm/perl-modules/%{name}" ]; then\ fgen_file "/var/adm/perl-modules/%{name}"\ fi\ \ # check for files in %{_bindir}\ if [ -d ${RPM_BUILD_ROOT}%{_bindir} ]; then\ RES=`find "${RPM_BUILD_ROOT}%{_bindir}" -maxdepth 1 -type f`\ if [ -n "$RES" ]; then\ for file in $RES; do\ fgen_file "%{_bindir}/$(basename ${file})"\ done\ fi\ fi # spec file for package yast2-ycp-ui-bindings # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define min_yui_version 4.3.0 %define yui_so 16 Name: yast2-ycp-ui-bindings Version: 5.0.1 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: %{name}-%{version}.tar.bz2 Group: System/YaST License: GPL-2.0-only BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: yast2-devtools >= 3.1.10 # autodocs + docbook docs BuildRequires: doxygen BuildRequires: docbook-xsl-stylesheets BuildRequires: libxslt BuildRequires: sgml-skel Requires: yast2-core BuildRequires: yast2-core-devel BuildRequires: libyui-devel >= %min_yui_version Requires: libyui%yui_so >= %min_yui_version # libyui ImplPtr BuildRequires: boost-devel Summary: YaST2 - YCP Bindings for the YaST2 User Interface Engine %description This package makes the generic YaST2 user interface engine available for YCP applications (YCP is the scripting language in which most YaST2 modules are written). %package devel Requires: yast2-ycp-ui-bindings = %version Group: Development/Libraries Summary: YaST2 - YCP Bindings for the YaST2 User Interface Engine Requires: boost-devel Requires: glibc-devel Requires: libstdc++-devel Requires: libyui-devel >= %min_yui_version Requires: yast2-core-devel Requires: yast2-devtools %description devel This is the development package that makes the generic YaST2 user interface engine available for YCP applications (YCP is the scripting language in which most YaST2 modules are written). %prep %setup -n %{name}-%{version} %build %yast_build %install %yast_install mkdir -p "$RPM_BUILD_ROOT"%{yast_logdir} %perl_process_packlist %files %defattr(-,root,root) %dir %{_libdir}/YaST2 %dir %{yast_plugindir} %{yast_plugindir}/lib*.so.* %files devel %defattr(-,root,root) %{yast_plugindir}/lib*.so %{yast_plugindir}/lib*.la %{yast_includedir} %{_libdir}/pkgconfig/yast2-ycp-ui-bindings.pc %doc %{_docdir}/packages/%{name} %license COPYING %changelog