diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..ef04d70 --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + checkbashisms + + diff --git a/devscripts.changes b/devscripts.changes index 165edf2..1b0f315 100644 --- a/devscripts.changes +++ b/devscripts.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Fri May 24 12:16:13 UTC 2024 - Dominique Leuenberger + +- Fix minor issues: + + Do not build devscripts main package (empty) in checkbashisms + flavor. + + Ensure the two flavors have different .src.rpm names, not + overwriting each other. + +------------------------------------------------------------------- +Tue May 21 10:43:58 UTC 2024 - Dominique Leuenberger + +- Mark %{buildroot}%{_bindir}/checkbashisms executable: sed … > + %{buildroot}%{_bindir}/checkbashisms creates a non-executable, + regular file. + +------------------------------------------------------------------- +Mon Feb 26 07:58:09 UTC 2024 - Dominique Leuenberger + +- Use %autosetup macro. Allows to eliminate the usage of deprecated + PatchN. + +------------------------------------------------------------------- +Tue Nov 28 13:33:03 UTC 2023 - Frederic Crozat + +- Move checkbashisms to a separate multibuild flavor, reduce + build cycle when only checkbashisms is needed. + ------------------------------------------------------------------- Tue Jul 12 09:38:54 UTC 2022 - Dirk Müller diff --git a/devscripts.spec b/devscripts.spec index c587ab8..ee7b3f6 100644 --- a/devscripts.spec +++ b/devscripts.spec @@ -1,7 +1,7 @@ # # spec file for package devscripts # -# Copyright (c) 2022 SUSE LLC +# 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 @@ -16,8 +16,13 @@ # +%define flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "checkbashisms" + %define name_suffix -checkbashisms +%endif + %define _xsl_stylesheet %{_datadir}/xml/docbook/stylesheet/nwalsh/current/manpages/docbook.xsl -Name: devscripts +Name: devscripts%{?name_suffix} Version: 2.22.2 Release: 0 Summary: Scripts to make the life of a Debian Package maintainer easier @@ -32,17 +37,22 @@ Patch1: devscripts-fix-python-install-layout.patch # PATCH-FEATURE-OPENSUSE devscripts-debcommit-hg16.patch -- Mercurial cannot commit empty, fix it. Patch2: devscripts-debcommit-hg16.patch BuildRequires: bash-completion-devel +%if "%{flavor}" == "" BuildRequires: docbook-xsl-stylesheets BuildRequires: dpkg-devel >= 1.18.19 BuildRequires: help2man BuildRequires: libxslt +%endif BuildRequires: perl BuildRequires: perl-macros +%if "%{flavor}" == "" +BuildRequires: po4a BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: sgmltool BuildRequires: texlive-latex BuildRequires: zlib-devel +%endif Requires: checkbashisms >= %{version} Requires: dpkg Requires: html2text @@ -72,6 +82,7 @@ Examples: - licensecheck: Attempt to determine the license of source files. - uscan: Scan upstream sites for new releases of packages. +%if "%{flavor}" == "checkbashisms" %package -n checkbashisms Summary: Tool for checking /bin/sh scripts for possible bashisms License: GPL-2.0-or-later @@ -85,21 +96,34 @@ BuildArch: noarch checkbashisms performs basic checks on /bin/sh shell scripts for the possible presence of bashisms. It takes the names of the shell scripts on the command line, and outputs warnings if possible -bashisms are detected. +bashisms are detected.* +%endif %prep -%setup -q -n devscripts-v%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 +%autosetup -p1 -n devscripts-v%{version} + +%if "%{flavor}" == "foo" +echo %{version} > version +%endif %build +%if "%{flavor}" == "" make %{?_smp_mflags} V=1 \ XSL_STYLESHEET="%{_xsl_stylesheet}" +%endif %install +%if "%{flavor}" == "" %make_install \ XSL_STYLESHEET="%{_xsl_stylesheet}" +%endif + +%if "%{flavor}" == "checkbashisms" +mkdir -p %{buildroot}%{_bindir} +sed -e "s/###VERSION###/%{version}/" scripts/checkbashisms.pl > %{buildroot}%{_bindir}/checkbashisms +chmod a+x %{buildroot}%{_bindir}/checkbashisms +install -D -m755 scripts/checkbashisms.bash_completion %{buildroot}%{_datadir}/bash-completion/completions/checkbashisms +%endif # remove completion that was provided in older bash completion %if 0%{?suse_version} <= 1500 @@ -107,21 +131,31 @@ rm %{buildroot}%{_datadir}/bash-completion/completions/bts %endif mkdir -p %{buildroot}%{_mandir}/man1/ +%if "%{flavor}" == "" install -Dpm 0644 scripts/*.1 -t %{buildroot}%{_mandir}/man1/ +%endif +%if "%{flavor}" == "checkbashisms" +install -Dpm 0644 scripts/checkbashisms.1 -t %{buildroot}%{_mandir}/man1/ +%endif +%if "%{flavor}" == "" while read target link; do if [ -d $(dirname "%{buildroot}$link") ]; then ln -sf "$target" "%{buildroot}$link" fi done < debian/links +%endif # Fix documentation. +%if "%{flavor}" == "" mkdir -p %{buildroot}%{_docdir}/ if [ "%{_datadir}/doc" != "%{_docdir}" ]; then mv %{buildroot}%{_datadir}/doc/devscripts %{buildroot}%{_docdir}/ fi install -Dpm 0644 debian/changelog %{buildroot}%{_docdir}/devscripts/changelog +%endif +%if "%{flavor}" == "" %files %license debian/copyright COPYING %doc %{_docdir}/devscripts/ @@ -135,11 +169,14 @@ install -Dpm 0644 debian/changelog %{buildroot}%{_docdir}/devscripts/changelog %exclude %{_datadir}/bash-completion/completions/checkbashisms %{_mandir}/man?/*.?%{?ext_man} %exclude %{_mandir}/man1/checkbashisms.1%{?ext_man} +%endif +%if "%{flavor}" == "checkbashisms" %files -n checkbashisms %license debian/copyright COPYING %{_bindir}/checkbashisms %{_datadir}/bash-completion/completions/checkbashisms %{_mandir}/man1/checkbashisms.1%{?ext_man} +%endif %changelog