# [PATCH 2/3] Delete manuals if compiling without docs

6 messages from 2006-06-30 to 2006-06-30. Participants: Pavel Roskin, Junio C Hamano.
Thread: https://gitlist.dev/t/4719

## Pavel Roskin, 2006-06-30 05:09

Subject: [PATCH 1/3] Fix probing for already installed Error.pm
Message-ID: <20060630050923.701.37665.stgit@dv.roinet.com>
URL: https://gitlist.dev/e/20060630050923.701.37665.stgit%40dv.roinet.com

```
From: Pavel Roskin <proski@gnu.org>

Signed-off-by: Pavel Roskin <proski@gnu.org>
---

 perl/Makefile.PL |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/perl/Makefile.PL b/perl/Makefile.PL
index d401a66..b3fbb73 100644
--- a/perl/Makefile.PL
+++ b/perl/Makefile.PL
@@ -12,7 +12,7 @@ my %pm = ('Git.pm' => '$(INST_LIBDIR)/Gi
 
 # We come with our own bundled Error.pm. It's not in the set of default
 # Perl modules so install it if it's not available on the system yet.
-eval { require 'Error' };
+eval { require Error };
 if ($@) {
 	$pm{'Error.pm'} = '$(INST_LIBDIR)/Error.pm';
 }

```

## Pavel Roskin, 2006-06-30 05:09

Subject: [PATCH 2/3] Delete manuals if compiling without docs
Message-ID: <20060630050926.701.24647.stgit@dv.roinet.com>
URL: https://gitlist.dev/e/20060630050926.701.24647.stgit%40dv.roinet.com
In-Reply-To: <20060630050923.701.37665.stgit@dv.roinet.com>

```
From: Pavel Roskin <proski@gnu.org>

Otherwise, rpm would complain about unpacked files.

Signed-off-by: Pavel Roskin <proski@gnu.org>
---

 git.spec.in |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/git.spec.in b/git.spec.in
index 8ccd256..b8feda3 100644
--- a/git.spec.in
+++ b/git.spec.in
@@ -86,6 +86,8 @@ make %{_smp_mflags} DESTDIR=$RPM_BUILD_R
 (find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "arch|svn|cvs|email|gitk" | sed -e s@^$RPM_BUILD_ROOT@@)               > bin-man-doc-files
 %if %{!?_without_docs:1}0
 (find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "arch|svn|git-cvs|email|gitk" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files
+%else
+rm -rf $RPM_BUILD_ROOT%{_mandir}
 %endif
 
 %clean

```

## Pavel Roskin, 2006-06-30 05:09

Subject: [PATCH 3/3] Make perl interface a separate package
Message-ID: <20060630050928.701.17817.stgit@dv.roinet.com>
URL: https://gitlist.dev/e/20060630050928.701.17817.stgit%40dv.roinet.com
In-Reply-To: <20060630050923.701.37665.stgit@dv.roinet.com>

```
From: Pavel Roskin <proski@gnu.org>

Install it as a vendor package.  Remove .packlist, perllocal.pod,
Git.bs.  Require perl(Error) for building so that our Error.pm is not
installed.

Signed-off-by: Pavel Roskin <proski@gnu.org>
---

 git.spec.in |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/git.spec.in b/git.spec.in
index b8feda3..6d90034 100644
--- a/git.spec.in
+++ b/git.spec.in
@@ -9,7 +9,7 @@ URL: 		http://kernel.org/pub/software/sc
 Source: 	http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz
 BuildRequires:	zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel  %{!?_without_docs:, xmlto, asciidoc > 6.0.3}
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Requires:	git-core, git-svn, git-cvs, git-arch, git-email, gitk
+Requires:	git-core, git-svn, git-cvs, git-arch, git-email, gitk, perl-Git
 
 %description
 This is a stupid (but extremely fast) directory content manager.  It
@@ -70,6 +70,16 @@ Requires:       git-core = %{version}-%{
 %description -n gitk
 Git revision tree visualiser ('gitk')
 
+%package -n perl-Git
+Summary:        Perl interface to Git
+Group:          Development/Libraries
+Requires:       git-core = %{version}-%{release}
+Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+BuildRequires:  perl(Error)
+
+%description -n perl-Git
+Perl interface to Git
+
 %prep
 %setup -q
 
@@ -80,10 +90,14 @@ make %{_smp_mflags} CFLAGS="$RPM_OPT_FLA
 %install
 rm -rf $RPM_BUILD_ROOT
 make %{_smp_mflags} DESTDIR=$RPM_BUILD_ROOT WITH_OWN_SUBPROCESS_PY=YesPlease \
-     prefix=%{_prefix} mandir=%{_mandir} \
+     prefix=%{_prefix} mandir=%{_mandir} INSTALLDIRS=vendor \
      install %{!?_without_docs: install-doc}
+find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
+find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
+find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';'
 
 (find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "arch|svn|cvs|email|gitk" | sed -e s@^$RPM_BUILD_ROOT@@)               > bin-man-doc-files
+(find $RPM_BUILD_ROOT%{perl_vendorarch} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files
 %if %{!?_without_docs:1}0
 (find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "arch|svn|git-cvs|email|gitk" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files
 %else
@@ -131,6 +145,9 @@ # These are no files in the root package
 %{!?_without_docs: %{_mandir}/man1/*gitk*.1*}
 %{!?_without_docs: %doc Documentation/*gitk*.html }
 
+%files -n perl-Git -f perl-files
+%defattr(-,root,root)
+
 %files core -f bin-man-doc-files
 %defattr(-,root,root)
 %{_datadir}/git-core/

```

## Junio C Hamano, 2006-06-30 07:28

Subject: Re: [PATCH 1/3] Fix probing for already installed Error.pm
Message-ID: <7vfyhnksqf.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vfyhnksqf.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <20060630050923.701.37665.stgit@dv.roinet.com>

```
Pavel Roskin <proski@gnu.org> writes:

> diff --git a/perl/Makefile.PL b/perl/Makefile.PL
> index d401a66..b3fbb73 100644
> --- a/perl/Makefile.PL
> +++ b/perl/Makefile.PL
> @@ -12,7 +12,7 @@ my %pm = ('Git.pm' => '$(INST_LIBDIR)/Gi
>  
>  # We come with our own bundled Error.pm. It's not in the set of default
>  # Perl modules so install it if it's not available on the system yet.
> -eval { require 'Error' };
> +eval { require Error };
>  if ($@) {
>  	$pm{'Error.pm'} = '$(INST_LIBDIR)/Error.pm';
>  }

The syntax updates is correct, but this is still wrong, I am
afraid.

It is trying to see if we need to install the Error.pm we ship
just in case the system does not have Error.pm available.  But
this script is run in perl/ directory where we have that private
copy of Error.pm, so "require Error" always succeeds, eh, at
least after you fixed the above syntax error X-<.

```

## Junio C Hamano, 2006-06-30 07:40

Subject: Re: [PATCH 1/3] Fix probing for already installed Error.pm
Message-ID: <7vbqsbks69.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vbqsbks69.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <7vfyhnksqf.fsf@assigned-by-dhcp.cox.net>

```
Junio C Hamano <junkio@cox.net> writes:

> Pavel Roskin <proski@gnu.org> writes:
>
>> diff --git a/perl/Makefile.PL b/perl/Makefile.PL
>> index d401a66..b3fbb73 100644
>> --- a/perl/Makefile.PL
>> +++ b/perl/Makefile.PL
>> @@ -12,7 +12,7 @@ my %pm = ('Git.pm' => '$(INST_LIBDIR)/Gi
>>  
>>  # We come with our own bundled Error.pm. It's not in the set of default
>>  # Perl modules so install it if it's not available on the system yet.
>> -eval { require 'Error' };
>> +eval { require Error };
>>  if ($@) {
>>  	$pm{'Error.pm'} = '$(INST_LIBDIR)/Error.pm';
>>  }
>
> The syntax updates is correct, but this is still wrong, I am
> afraid.
>
> It is trying to see if we need to install the Error.pm we ship
> just in case the system does not have Error.pm available.  But
> this script is run in perl/ directory where we have that private
> copy of Error.pm, so "require Error" always succeeds, eh, at
> least after you fixed the above syntax error X-<.

That is, we would want something like this.

diff --git a/perl/Error.pm b/perl/private-Error.pm
similarity index 100%
rename from perl/Error.pm
rename to perl/private-Error.pm
diff --git a/perl/Makefile.PL b/perl/Makefile.PL
index b3fbb73..25ae54a 100644
--- a/perl/Makefile.PL
+++ b/perl/Makefile.PL
@@ -14,7 +14,7 @@ # We come with our own bundled Error.pm.
 # Perl modules so install it if it's not available on the system yet.
 eval { require Error };
 if ($@) {
-	$pm{'Error.pm'} = '$(INST_LIBDIR)/Error.pm';
+	$pm{'private-Error.pm'} = '$(INST_LIBDIR)/Error.pm';
 }
 
 WriteMakefile(

```

## Pavel Roskin, 2006-06-30 18:08

Subject: Re: [PATCH 1/3] Fix probing for already installed Error.pm
Message-ID: <1151690891.11093.0.camel@dv>
URL: https://gitlist.dev/e/1151690891.11093.0.camel%40dv
In-Reply-To: <7vbqsbks69.fsf@assigned-by-dhcp.cox.net>

```
On Fri, 2006-06-30 at 00:40 -0700, Junio C Hamano wrote:
> > It is trying to see if we need to install the Error.pm we ship
> > just in case the system does not have Error.pm available.  But
> > this script is run in perl/ directory where we have that private
> > copy of Error.pm, so "require Error" always succeeds, eh, at
> > least after you fixed the above syntax error X-<.

Nice catch!  Thank you for fixing it.

-- 
Regards,
Pavel Roskin

```
