git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] Fix probing for already installed Error.pm
@ 2006-06-30  5:09 Pavel Roskin
  2006-06-30  5:09 ` [PATCH 2/3] Delete manuals if compiling without docs Pavel Roskin
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Pavel Roskin @ 2006-06-30  5:09 UTC (permalink / raw)
  To: git

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';
 }

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] Delete manuals if compiling without docs
  2006-06-30  5:09 [PATCH 1/3] Fix probing for already installed Error.pm Pavel Roskin
@ 2006-06-30  5:09 ` Pavel Roskin
  2006-06-30  5:09 ` [PATCH 3/3] Make perl interface a separate package Pavel Roskin
  2006-06-30  7:28 ` [PATCH 1/3] Fix probing for already installed Error.pm Junio C Hamano
  2 siblings, 0 replies; 6+ messages in thread
From: Pavel Roskin @ 2006-06-30  5:09 UTC (permalink / raw)
  To: git

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

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] Make perl interface a separate package
  2006-06-30  5:09 [PATCH 1/3] Fix probing for already installed Error.pm Pavel Roskin
  2006-06-30  5:09 ` [PATCH 2/3] Delete manuals if compiling without docs Pavel Roskin
@ 2006-06-30  5:09 ` Pavel Roskin
  2006-06-30  7:28 ` [PATCH 1/3] Fix probing for already installed Error.pm Junio C Hamano
  2 siblings, 0 replies; 6+ messages in thread
From: Pavel Roskin @ 2006-06-30  5:09 UTC (permalink / raw)
  To: git

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/

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] Fix probing for already installed Error.pm
  2006-06-30  5:09 [PATCH 1/3] Fix probing for already installed Error.pm Pavel Roskin
  2006-06-30  5:09 ` [PATCH 2/3] Delete manuals if compiling without docs Pavel Roskin
  2006-06-30  5:09 ` [PATCH 3/3] Make perl interface a separate package Pavel Roskin
@ 2006-06-30  7:28 ` Junio C Hamano
  2006-06-30  7:40   ` Junio C Hamano
  2 siblings, 1 reply; 6+ messages in thread
From: Junio C Hamano @ 2006-06-30  7:28 UTC (permalink / raw)
  To: Pavel Roskin, Petr Baudis; +Cc: git

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-<.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] Fix probing for already installed Error.pm
  2006-06-30  7:28 ` [PATCH 1/3] Fix probing for already installed Error.pm Junio C Hamano
@ 2006-06-30  7:40   ` Junio C Hamano
  2006-06-30 18:08     ` Pavel Roskin
  0 siblings, 1 reply; 6+ messages in thread
From: Junio C Hamano @ 2006-06-30  7:40 UTC (permalink / raw)
  To: Pavel Roskin, Petr Baudis; +Cc: git

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(

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] Fix probing for already installed Error.pm
  2006-06-30  7:40   ` Junio C Hamano
@ 2006-06-30 18:08     ` Pavel Roskin
  0 siblings, 0 replies; 6+ messages in thread
From: Pavel Roskin @ 2006-06-30 18:08 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Petr Baudis, git

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-06-30 18:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-30  5:09 [PATCH 1/3] Fix probing for already installed Error.pm Pavel Roskin
2006-06-30  5:09 ` [PATCH 2/3] Delete manuals if compiling without docs Pavel Roskin
2006-06-30  5:09 ` [PATCH 3/3] Make perl interface a separate package Pavel Roskin
2006-06-30  7:28 ` [PATCH 1/3] Fix probing for already installed Error.pm Junio C Hamano
2006-06-30  7:40   ` Junio C Hamano
2006-06-30 18:08     ` Pavel Roskin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).