You are not logged in.
lltag is an automatic tagging/renaming apllication for audio files with cddb support
homepage : http://home.gna.org/lltag/
project page : https://gna.org/projects/lltag
source download : http://download.gna.org/lltag/lltag-0.14.2.tar.bz2
Offline
Can somebody write a PKGBUILD for it ?
I've tried to do it but it doen't work.
Offline
If you tried it, post the PKGBUILD and the error message you got.
Offline
####################### My PKGBUILD : #############################
# Contributor: max-k <max-k@post.com>
pkgname=lltag
pkgver=0.14.2
pkgrel=1
pkgdesc="Automatic command-line mp3/ogg/flac file tagger and renamer"
arch=(i686)
url="http://http://home.gna.org/lltag/"
license=('GPL')
depends=('perl-libwww' 'perl-mp3-info' 'perl-mp3-tag' 'perl-term-readline' 'perl-term-readline-gnu')
source=(http://download.gna.org/lltag/$pkgname-$pkgver.tar.bz2)
md5sums=('38714bb16cbb086532a6104d335c7ac0')
build() {
#build
cd ${startdir}/src/${pkgname}-${pkgver}
sed -e 's!@SYSCONFDIR@!$(startdir)/pkg/etc!g' -e 's!@VERSION@!$(pkgver)!g' < lltag.in > lltag
chmod 755 lltag
PERL_INSTALLDIRS=vendor
DOCDIR=${startdir}/pkg/usr/share/doc/${pkgname}
# install lib
install -d -m 0755 ${startdir}/pkg/usr/bin/ ${startdir}/pkg/etc/${pkgname}/ || return 1
install -m 0755 ${pkgname} ${startdir}/pkg/usr/bin/${pkgname} || return 1
install -m 0644 formats ${startdir}/pkg/etc/${pkgname}/ || return 1
# install doc
make -C doc install DOCDIR=${startdir}/pkg/usr/share/doc/${pkgname}
# install man
install -d -m 0755 ${startdir}/pkg/usr/share/man/man1/ ${startdir}/pkg/usr/share/man/man5/
install -m 0644 lltag.1 ${startdir}/pkg/usr/share/man/man1/
install -m 0644 lltag_config.5 ${startdir}/pkg/usr/share/man/man5/
install -m 0644 lltag_formats.5 ${startdir}/pkg/usr/share/man/man5/
# infos
echo --to activate flac file support you must install flac--
echo --to activate ogg file support you must install vorbis-tools--
}
It seems to work but when i try to launch it after install i got this :
[max-k@maxfixe ~]$ lltag
Can't locate Lltag/Tags.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.10.0 /usr/share/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl /usr/lib/perl5/current /usr/lib/perl5/site_perl/current/i686-linux-thread-multi /usr/lib/perl5/site_perl/current .) at /usr/bin/lltag line 6.
############################ Here's the Makefile : #####################################
NAME = lltag
ifeq ($(shell [ -d .svn ] && echo 1),1)
VERSION = $(shell cat VERSION)+svn.$(shell date +%Y%m%d)
else
VERSION = $(shell cat VERSION)
endif
LIB_SUBDIR = lib
DOC_SUBDIR = doc
DESTDIR =
PREFIX = /usr/local
EXEC_PREFIX = $(PREFIX)
BINDIR = $(EXEC_PREFIX)/bin
DATADIR = $(PREFIX)/share
SYSCONFDIR = $(PREFIX)/etc
MANDIR = $(PREFIX)/man
DOCDIR = $(DATADIR)/doc
PERL_INSTALLDIRS =
TARBALL = $(NAME)-$(VERSION)
DEBIAN_TARBALL = $(NAME)_$(VERSION).orig
.PHONY: lltag clean install uninstall tarball
lltag:: lltag.in VERSION build-lib
sed -e 's!@SYSCONFDIR@!$(DESTDIR)$(SYSCONFDIR)!g' -e 's!@VERSION@!$(DESTDIR)$(VERSION)!g' \
< lltag.in > lltag
chmod 755 lltag
clean:: clean-lib
rm -f lltag
install:: install-lib
install -d -m 0755 $(DESTDIR)$(BINDIR)/ $(DESTDIR)$(SYSCONFDIR)/lltag/
install -m 0755 lltag $(DESTDIR)$(BINDIR)/lltag
install -m 0644 formats $(DESTDIR)$(SYSCONFDIR)/lltag/
uninstall:: uninstall-lib
rm $(DESTDIR)$(BINDIR)/lltag
rm $(DESTDIR)$(SYSCONFDIR)/lltag/formats
rmdir $(DESTDIR)$(SYSCONFDIR)/lltag/
tarball::
mkdir /tmp/$(TARBALL)
cp lltag.in /tmp/$(TARBALL)
cp formats /tmp/$(TARBALL)
cp lltag.1 lltag_config.5 lltag_formats.5 /tmp/$(TARBALL)
cp Makefile /tmp/$(TARBALL)
cp COPYING README VERSION /tmp/$(TARBALL)
cp Changes /tmp/$(TARBALL)
cp -a $(DOC_SUBDIR)/ /tmp/$(TARBALL)
cp -a $(LIB_SUBDIR) /tmp/$(TARBALL)
cd /tmp && tar cfz $(DEBIAN_TARBALL).tar.gz $(TARBALL)
cd /tmp && tar cfj $(TARBALL).tar.bz2 $(TARBALL)
mv /tmp/$(DEBIAN_TARBALL).tar.gz /tmp/$(TARBALL).tar.bz2 ..
rm -rf /tmp/$(TARBALL)
# Perl modules
.PHONY: build-lib clean-lib install-lib uninstall-lib prepare-lib
$(LIB_SUBDIR)/Makefile.PL: $(LIB_SUBDIR)/Makefile.PL.in VERSION
sed -e 's!@VERSION@!$(VERSION)!g' < $(LIB_SUBDIR)/Makefile.PL.in > $(LIB_SUBDIR)/Makefile.PL
$(LIB_SUBDIR)/Makefile: $(LIB_SUBDIR)/Makefile.PL
cd $(LIB_SUBDIR) && perl Makefile.PL INSTALLDIRS=$(PERL_INSTALLDIRS)
prepare-lib: $(LIB_SUBDIR)/Makefile
build-lib: prepare-lib
$(MAKE) -C $(LIB_SUBDIR)
install-lib: prepare-lib
$(MAKE) -C $(LIB_SUBDIR) install PREFIX= SITEPREFIX=$(PREFIX) PERLPREFIX=$(PREFIX) VENDORPREFIX=$(PREFIX)
clean-lib: prepare-lib
$(MAKE) -C $(LIB_SUBDIR) distclean
rm $(LIB_SUBDIR)/Makefile.PL
uninstall-lib: prepare-lib
$(MAKE) -C $(LIB_SUBDIR) uninstall
# Install the doc, only called on-demand by distrib-specific Makefile
.PHONY: install-doc uninstall-doc
install-doc:
$(MAKE) -C $(DOC_SUBDIR) install DOCDIR=$(DESTDIR)$(DOCDIR)
uninstall-doc:
$(MAKE) -C $(DOC_SUBDIR) uninstall DOCDIR=$(DESTDIR)$(DOCDIR)
# Install the manpages, only called on-demand by distrib-specific Makefile
.PHONY: install-man uninstall-man
install-man::
install -d -m 0755 $(DESTDIR)$(MANDIR)/man1/ $(DESTDIR)$(MANDIR)/man5/
install -m 0644 lltag.1 $(DESTDIR)$(MANDIR)/man1/
install -m 0644 lltag_config.5 $(DESTDIR)$(MANDIR)/man5/
install -m 0644 lltag_formats.5 $(DESTDIR)$(MANDIR)/man5/
uninstall-man::
rm $(DESTDIR)$(MANDIR)/man1/lltag.1
rm $(DESTDIR)$(MANDIR)/man5/lltag_config.5
rm $(DESTDIR)$(MANDIR)/man5/lltag_formats.5
############################# Here's an official gentoo portage ebuild : ##################################"
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-sound/lltag/lltag-0.14.2.ebuild,v 1.1 2007/12/16 13:41:17 aballier Exp $
inherit perl-module
DESCRIPTION="Automatic command-line mp3/ogg/flac file tagger and renamer"
HOMEPAGE="http://home.gna.org/lltag"
SRC_URI="http://download.gna.org/lltag/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="mp3 ogg flac readline"
RDEPEND="dev-lang/perl
dev-perl/libwww-perl
mp3? ( || ( media-sound/mp3info dev-perl/MP3-Tag ) )
ogg? ( media-sound/vorbis-tools )
flac? ( media-libs/flac )
readline? ( dev-perl/Term-ReadLine-Perl )"
src_compile() {
emake PREFIX=/usr SYSCONFDIR=/etc MANDIR=/usr/share/man \
PERL_INSTALLDIRS=vendor || die "Failed to compile"
}
src_install() {
emake DESTDIR="${D}/" PREFIX=/usr SYSCONFDIR=/etc MANDIR=/usr/share/man \
PERL_INSTALLDIRS=vendor DOCDIR=/usr/share/doc/${P} install \
install-doc install-man || die "Failed to install"
fixlocalpod
dodoc Changes
}
Last edited by max-k (2008-01-19 19:51:49)
Offline
Try to seperate the steps for building the program, the docs and installing. E.g make PREFIX=/usr lltag (instead of the long sed-line in your PKGBUILD)
make PREFIX=/usr doc
make PREFIX=$startdir/pkg/usr install
In the Makefile PREFIX is set to /usr/local and this is strongly forbidden by the Arch packaging rules. And it seems, perl does not find any files you put there to.
Offline
Try to seperate the steps for building the program, the docs and installing. E.g make PREFIX=/usr lltag (instead of the long sed-line in your PKGBUILD)
make PREFIX=/usr doc
make PREFIX=$startdir/pkg/usr installIn the Makefile PREFIX is set to /usr/local and this is strongly forbidden by the Arch packaging rules. And it seems, perl does not find any files you put there to.
Ok, I'll try.
Offline
I've tried this :
# Contributor: max-k <max-k@post.com>
pkgname=lltag
pkgver=0.14.2
pkgrel=1
pkgdesc="Automatic command-line mp3/ogg/flac file tagger and renamer"
arch=(i686)
url="http://home.gna.org/lltag/"
license=('GPL')
depends=('perl-libwww' 'perl-mp3-info' 'perl-mp3-tag' 'perl-term-readline' 'perl-term-readline-gnu')
source=(http://download.gna.org/lltag/$pkgname-$pkgver.tar.bz2)
md5sums=('38714bb16cbb086532a6104d335c7ac0')
build() {
cd ${startdir}/src/${pkgname}-${pkgver}
make PREFIX=$/usr PERL_INSTALLDIRS=vendor lltag
make PREFIX=${startdir}/pkg/usr PERL_INSTALLDIRS=vendor install
make PREFIX=${startdir}/pkg/usr DOCDIR=${PREFIX}/share/doc/${pkgname} install-doc
make PREFIX=${startdir}/pkg/usr install-man
echo --to activate flac file support you must install flac--
echo --to activate ogg file support you must install vorbis-tools--
}
And I get this :
==> Début de la compilation...
sed -e 's!@VERSION@!0.14.2!g' < lib/Makefile.PL.in > lib/Makefile.PL
cd lib && perl Makefile.PL INSTALLDIRS=vendor
Checking if your kit is complete...
Looks good
Writing Makefile for Lltag
make -C lib
make[1]: entrant dans le répertoire « /tmp/yaourt-tmp-max-k/aur-lltag/lltag/src/lltag-0.14.2/lib »
cp Lltag/Parse.pm blib/lib/Lltag/Parse.pm
cp Lltag/Tags.pm blib/lib/Lltag/Tags.pm
cp Lltag/Rename.pm blib/lib/Lltag/Rename.pm
cp Lltag/MP3.pm blib/lib/Lltag/MP3.pm
cp Lltag/MP3v2.pm blib/lib/Lltag/MP3v2.pm
cp Lltag/FLAC.pm blib/lib/Lltag/FLAC.pm
cp Lltag/CDDB.pm blib/lib/Lltag/CDDB.pm
cp Lltag/Misc.pm blib/lib/Lltag/Misc.pm
cp Lltag/OGG.pm blib/lib/Lltag/OGG.pm
make[1]: quittant le répertoire « /tmp/yaourt-tmp-max-k/aur-lltag/lltag/src/lltag-0.14.2/lib »
sed -e 's!@SYSCONFDIR@!/usr/etc!g' -e 's!@VERSION@!0.14.2!g' \
< lltag.in > lltag
chmod 755 lltag
make -C lib install PREFIX= SITEPREFIX=/tmp/yaourt-tmp-max-k/aur-lltag/lltag/pkg/usr PERLPREFIX=/tmp/yaourt-tmp-max-k/aur-lltag/lltag/pkg/usr VENDORPREFIX=/tmp/yaourt-tmp-max-k/aur-lltag/lltag/pkg/usr
make[1]: entrant dans le répertoire « /tmp/yaourt-tmp-max-k/aur-lltag/lltag/src/lltag-0.14.2/lib »
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/share/perl5/vendor_perl/Lltag'
mkdir /usr/share/perl5/vendor_perl/Lltag: Permission non accordée at /usr/share/perl5/core_perl/ExtUtils/Install.pm line 479
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
at -e line 1
make[1]: *** [pure_vendor_install] Erreur 13
make[1]: quittant le répertoire « /tmp/yaourt-tmp-max-k/aur-lltag/lltag/src/lltag-0.14.2/lib »
make: *** [install-lib] Erreur 2
make -C doc install DOCDIR=/share/doc/lltag
make[1]: entrant dans le répertoire « /tmp/yaourt-tmp-max-k/aur-lltag/lltag/src/lltag-0.14.2/doc »
install -d -m 0755 /share/doc/lltag
install: ne peut créer le répertoire `/share': Permission non accordée
make[1]: *** [install] Erreur 1
make[1]: quittant le répertoire « /tmp/yaourt-tmp-max-k/aur-lltag/lltag/src/lltag-0.14.2/doc »
make: *** [install-doc] Erreur 2
install -d -m 0755 /tmp/yaourt-tmp-max-k/aur-lltag/lltag/pkg/usr/man/man1/ /tmp/yaourt-tmp-max-k/aur-lltag/lltag/pkg/usr/man/man5/
install -m 0644 lltag.1 /tmp/yaourt-tmp-max-k/aur-lltag/lltag/pkg/usr/man/man1/
install -m 0644 lltag_config.5 /tmp/yaourt-tmp-max-k/aur-lltag/lltag/pkg/usr/man/man5/
install -m 0644 lltag_formats.5 /tmp/yaourt-tmp-max-k/aur-lltag/lltag/pkg/usr/man/man5/
--to activate flac file support you must install flac--
--to activate ogg file support you must install vorbis-tools--
Offline
Not tested but try to change:
make PREFIX=${startdir}/pkg/usr PERL_INSTALLDIRS=vendor install
make PREFIX=${startdir}/pkg/usr DOCDIR=${PREFIX}/share/doc/${pkgname} install-doc
make PREFIX=${startdir}/pkg/usr install-man
to:
make DESTDIR=${startdir}/pkg PREFIX=/usr PERL_INSTALLDIRS=vendor install install-doc install-man
Offline
this build correctly:
pkgname=lltag
pkgver=0.14.2
pkgrel=1
pkgdesc="Automatic command-line mp3/ogg/flac file tagger and renamer"
arch=(i686 x86_64)
url="http://home.gna.org/lltag/"
license=('GPL')
depends=('perl-libwww' 'perl-mp3-info' 'perl-mp3-tag' 'perl-term-readline' 'perl-term-readline-gnu')
source=(http://download.gna.org/lltag/$pkgname-$pkgver.tar.bz2)
md5sums=('38714bb16cbb086532a6104d335c7ac0')
build() {
cd ${startdir}/src/${pkgname}-${pkgver}
make PREFIX=/usr PERL_INSTALLDIRS=vendor lltag
make DESTDIR=${startdir}/pkg PREFIX=/usr SYSCONFDIR=/etc PERL_INSTALLDIRS=vendor install install-doc install-man
find ${startdir}/pkg -name '.packlist' -exec rm {} \;
find ${startdir}/pkg -name 'perllocal.pod' -exec rm {} \;
}
I removed the 2 echo lines in the build function. You should use a .install file for these.
Offline
i have tried this :
cd ${startdir}/src/${pkgname}-${pkgver}
make DESTDIR=${startdir}/pkg PREFIX=/usr PERL_INSTALLDIRS=vendor lltag install install-doc install-man
it makes me a 'segmentation fault' when i try to launch lltag after install
I've tried this to but i get the same error :
cd ${startdir}/src/${pkgname}-${pkgver}
make PREFIX=/usr SYSCONFDIR=/etc PERL_INSTALLDIRS=vendor lltag
make DESTDIR=${startdir}/pkg PREFIX=/usr PERL_INSTALLDIRS=vendor install install-doc install-man
I think there is a problem with the sed command which convert lltag.in into lltag
Last edited by max-k (2008-01-26 08:30:24)
Offline
From the use of PERL_INSTALLDIRS=vendor, I assume you're using the testing repo. If that's the case, make sure all the perl modules in the dependency are built with the new perl policy that is taking place in testing. That might cause the seg faults.
Offline
ah. ok.
i will take a look at this.
thank you very much.
Offline
I don't find what can i do to make it works. Can you give me more details about it ?
Offline