Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 313049 - [PATCH] app-portage/g-cpan doesn't generate proper ebuilds for CPAN modules which are .tgz instead of .tar.gz
Summary: [PATCH] app-portage/g-cpan doesn't generate proper ebuilds for CPAN modules w...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Robin Johnson
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-04 00:24 UTC by Maciej Grela
Modified: 2011-01-23 22:21 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
The log from a failed g-cpan run (failed_cpan,13.76 KB, text/plain)
2010-04-04 00:25 UTC, Maciej Grela
Details
Generate MODULE_A for CPAN modules with .tgz tarball extension (g-cpan-0.16.2-tgz-extension-support.patch,1.00 KB, patch)
2010-04-04 00:27 UTC, Maciej Grela
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Maciej Grela 2010-04-04 00:24:04 UTC
I've tried to install DBD::CSV using g-cpan. After working around some initial issues described here: http://forums.gentoo.org/viewtopic-t-822042-highlight-.html g-cpan failed to fetch the source tarball.

The URL that portage tried to fetch was invalid - the filename should end with a .tgz instead of .tar.gz for this particular module. The URL was invalid because perl-module.eclass assumed it to be 'tar.gz' in absence of MODULE_A set in the ebuild generated by g-cpan. 
I have developed a patch for g-cpan that fixes this problem - it checks if the tarball extension for the CPAN module is '.tgz' - if yes it adds MODULE_A=${P}.tgz to the generated ebuild. The patch is attached. 
I'm not sure however if this is the most clean way to fix this - maybe a better solution would be for perl-modules.eclass to use a MODULE_EXTENSION variable to generate the MODULE_A instead of using a hardcoded 'tar.gz' ? 



Reproducible: Always

Steps to Reproduce:
1. g-cpan -i DBD::CSV
2.
3.

Actual Results:  
 * Copying /var/tmp/g-cpan/.cpan/sources/authors/id/H/HM/HMBRAND/DBD-CSV-0.28.tgz to /usr/portage/distfiles
 * Ebuild generated for DBD-CSV
>>> Downloading 'http://gentoo.mirror.pw.edu.pl/distfiles/DBD-CSV-0.28.tar.gz'
--2010-04-04 01:41:09--  http://gentoo.mirror.pw.edu.pl/distfiles/DBD-CSV-0.28.tar.gz
Translacja gentoo.mirror.pw.edu.pl... 194.29.128.2
Łączenie się z gentoo.mirror.pw.edu.pl|194.29.128.2|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 404 Not Found
2010-04-04 01:41:14 BŁĄD 404: Not Found.

>>> Downloading 'http://search.cpan.org/CPAN/authors/id/H/HM/HMBRAND//DBD-CSV-0.28.tar.gz'
--2010-04-04 01:41:14--  http://search.cpan.org/CPAN/authors/id/H/HM/HMBRAND//DBD-CSV-0.28.tar.gz
Translacja search.cpan.org... 194.106.223.155
Łączenie się z search.cpan.org|194.106.223.155|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 302 Found
Lokalizacja: http://ftp.man.poznan.pl/pub/CPAN/authors/id/H/HM/HMBRAND//DBD-CSV-0.28.tar.gz [podążanie]
--2010-04-04 01:41:20--  http://ftp.man.poznan.pl/pub/CPAN/authors/id/H/HM/HMBRAND//DBD-CSV-0.28.tar.gz
Translacja ftp.man.poznan.pl... 150.254.186.34, 2001:808:0:9::1
Łączenie się z ftp.man.poznan.pl|150.254.186.34|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 404 Not Found
2010-04-04 01:41:25 BŁĄD 404: Not Found.

>>> Downloading 'http://www.cpan.org/authors/id/H/HM/HMBRAND//DBD-CSV-0.28.tar.gz'
--2010-04-04 01:41:25--  http://www.cpan.org/authors/id/H/HM/HMBRAND//DBD-CSV-0.28.tar.gz
Translacja www.cpan.org... 207.171.7.177
Łączenie się z www.cpan.org|207.171.7.177|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 404 Not Found
2010-04-04 01:41:31 BŁĄD 404: Not Found.

!!! Couldn't download 'DBD-CSV-0.28.tar.gz'. Aborting.
!!! Fetch failed for DBD-CSV-0.28.tar.gz, can't update Manifest
 * Calling emerge for DBD-CSV

 * Calling: emerge  DBD-CSV

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

Calculating dependencies... done!

>>> Verifying ebuild manifests
!!! Manifest file not found: '/var/paludis/repositories/cpan/perl-gcpan/DBD-CSV/Manifest'

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

 * Cleaning temporary space
4pll00555 profiles # 


Expected Results:  
The CPAN module should download and build.

4pll00555 profiles # paludis --info
paludis 0.46.0
Paludis build information:
    Compiler:
        CXX:                   x86_64-pc-linux-gnu-g++ 4.4.3
        CXXFLAGS:               -O2 -pipe -march=nocona
        LDFLAGS:               -Wl,--as-needed
        DATE:                  2010-04-03T05:27:39+0200

    Libraries:
        C++ Library:           GNU libstdc++ 20100121

    Paths:
        DATADIR:               /usr/share
        LIBDIR:                /usr/lib64
        LIBEXECDIR:            /usr/libexec
        SYSCONFDIR:            /etc
        PYTHONINSTALLDIR:      
        RUBYINSTALLDIR:        /usr/lib64/ruby/site_ruby/1.8/x86_64-linux

System:
    Linux 4pll00555 2.6.34-rc2-t61 #1 SMP PREEMPT Sun Mar 21 14:27:00 CET 2010 x86_64 Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz GenuineIntel GNU/Linux

Reduced Privs:
    reduced_uid:               101
    reduced_uid->name:         paludisbuild
    reduced_uid->dir:          /var/tmp/paludis
    reduced_gid:               407
    reduced_gid->name:         paludisbuild

Environment:
    Format:                    paludis
    Config dir:                /etc/paludis
    World file:                /var/db/pkg/world

Repository layman:
    format:                    unavailable
    location:                  /var/paludis/repositories/layman
    sync:                      tar+http://git.exherbo.org/layman_repositories.tar.bz2
    sync_options:              

Repository installed-virtuals:
    format:                    installed_virtuals
    root:                      /

Repository virtuals:
    format:                    virtuals

Repository gentoo:
    format:                    ebuild
    location:                  /usr/portage
    builddir:                  /var/tmp/paludis
    cache:                     /usr/portage/metadata/cache
    distdir:                   /usr/portage/distfiles
    eapi_when_unknown:         0
    eapi_when_unspecified:     0
    eclassdirs:                /usr/portage/eclass
    layout:                    traditional
    names_cache:               /var/cache/paludis/names
    newsdir:                   /usr/portage/metadata/news
    profile_eapi_when_unspecified: 0
    profile_layout:            traditional
    profiles:                  /usr/portage/profiles/default/linux/amd64/10.0/desktop
    securitydir:               /usr/portage/metadata/glsa
    setsdir:                   /usr/portage/sets
    sync:                      rsync://gentoo.prz.rzeszow.pl/gentoo-portage tar+http://gentoo.prz.rzeszow.pl/snapshots/portage-latest.tar.lzma
    sync_options:              
    use_manifest:              use
    write_cache:               /var/empty

    Package information:
        app-admin/eselect-compiler: (none)
        app-shells/bash:       4.1_p2-r1
        dev-java/java-config:  2.1.10
        dev-lang/python:       2.4.4-r13 2.5.4-r2 2.6.5-r1 3.1.2-r1
        dev-python/pycrypto:   (none)
        dev-util/ccache:       (none)
        dev-util/cmake:        2.8.1
        dev-util/confcache:    (none)
        sys-apps/baselayout:   2.0.1
        sys-apps/openrc:       0.6.1-r1
        sys-apps/sandbox:      2.2
        sys-devel/autoconf:    2.13 2.65
        sys-devel/automake:    1.10.3 1.11.1 1.5 1.7.9-r2 1.8.5-r3 1.9.6-r3
        sys-devel/binutils:    2.20.1
        sys-devel/gcc:         4.1.2 4.4.3
        sys-devel/gcc-config:  1.4.1
        sys-devel/libtool:     2.2.6b
        virtual/os-headers:    2.6.33 (for sys-kernel/linux-headers::installed)
Comment 1 Maciej Grela 2010-04-04 00:25:24 UTC
Created attachment 226491 [details]
The log from a failed g-cpan run
Comment 2 Maciej Grela 2010-04-04 00:27:16 UTC
Created attachment 226497 [details, diff]
Generate MODULE_A for CPAN modules with .tgz tarball extension
Comment 3 Sebastian Pipping gentoo-dev 2010-04-04 22:07:21 UTC
Bug report QA messages:

 * Please use full package qualifiers
   (e.g. "sys-apps/portage", not just "portage")
   in bug report titles, at the beginning ideally,
   in the future.  Thank you!
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2011-01-23 22:21:59 UTC
Implemented a variant of your idea in g-cpan now.
Committed to git, will be in next release.