debian/0002755000000000000000000000000011742473410007173 5ustar debian/source/0002755000000000000000000000000011742473410010473 5ustar debian/source/format0000644000000000000000000000001411413647337011705 0ustar 3.0 (quilt) debian/lltag.doc-base0000644000000000000000000000035611413656675011712 0ustar Document: lltag-howto Title: lltag Manual Author: Brice Goglin Abstract: This manual describes what lltag is, and how it can be used. Section: Sound Format: HTML Index: /usr/share/doc/lltag/howto.html Files: /usr/share/doc/lltag/*.html debian/control0000644000000000000000000000173711742213756010611 0ustar Source: lltag Section: sound Priority: extra Maintainer: Brice Goglin Build-Depends: debhelper (>= 5) Homepage: http://home.gna.org/lltag/ Standards-Version: 3.9.3 Vcs-Svn: svn://svn.gna.org/svn/lltag/branches/debian Vcs-Browser: http://svn.gna.org/viewcvs/lltag/branches/debian/ Package: lltag Architecture: all Depends: ${misc:Depends}, ${perl:Depends} Recommends: mp3info, libmp3-tag-perl, vorbis-tools, flac, libterm-readline-gnu-perl | libterm-readline-perl-perl, libwww-perl Description: Automatic command-line mp3/ogg/flac file tagger and renamer lltag is a command-line tool manipulating MP3 ID3, OGG or FLAC tags. It may be used to tag multiples files at once by comparing their filename or pathname against a configurable list of formats, or by getting tags from the CDDB database. . lltag may also rename files according to a configurable filename format. The interface has been designed to be as automatic, efficient and smart as possible. debian/patches/0002755000000000000000000000000011742473410010622 5ustar debian/patches/01-fix_rename_case.patch0000644000000000000000000000334511742473231015175 0ustar Index: lib/Lltag/Rename.pm =================================================================== --- a/lib/Lltag/Rename.pm (révision 635) +++ b/lib/Lltag/Rename.pm (révision 636) @@ -78,9 +78,12 @@ print " Renaming with format '$self->{rename_opt}'...\n" ; - foreach my $field (keys %{$values}) { + # make sure we find tags through their upcase names + my $ucvalues = Lltag::Tags::clone_tag_values_uc ($self, $values) ; + + foreach my $field (keys %{$ucvalues}) { # use the first tag for renaming - my $val = Lltag::Tags::get_tag_unique_value ($self, $values, $field) ; + my $val = Lltag::Tags::get_tag_unique_value ($self, $ucvalues, $field) ; $val = lc ($val) if $self->{rename_min_opt} ; $val =~ s/ /$self->{rename_sep_opt}/g Index: lib/Lltag/Tags.pm =================================================================== --- a/lib/Lltag/Tags.pm (révision 635) +++ b/lib/Lltag/Tags.pm (révision 636) @@ -374,4 +374,32 @@ return $val ; } +####################################################### +# clone tag values (to be able to modify without changing the original) and merge tags case-insensitively + +sub clone_tag_values_uc { + my $self = shift ; + my $old_values = shift ; + + return undef unless defined $old_values ; + + # clone the hash + my %new_values; + + # use upcase values first + for my $field (keys %{$old_values}) { + if ($field eq uc($field)) { + append_tag_multiple_value $self, \%new_values, uc($field), $old_values->{$field} ; + } + } + # other values then + for my $field (keys %{$old_values}) { + if ($field ne uc($field)) { + append_tag_multiple_value $self, \%new_values, uc($field), $old_values->{$field} ; + } + } + + return \%new_values ; +} + 1 ; debian/patches/series0000644000000000000000000000012711742473335012043 0ustar debianize_dependencies_in_warnings.patch 01-fix_rename_case.patch 02-howto_fixes.patch debian/patches/02-howto_fixes.patch0000644000000000000000000001227211742473335014430 0ustar Index: doc/howto.html =================================================================== --- a/doc/howto.html (révision 628) +++ b/doc/howto.html (révision 632) @@ -18,9 +18,7 @@ - -

How do I use lltag?

-
+

How do I use lltag?

   lltag myfile1.mp3 myfile2.ogg
@@ -39,9 +37,7 @@
 
 
 
-
-

How do I see current tags in files?

-
+

How do I see current tags in files?

All the tags currently existing in files may be displayed:
@@ -55,9 +51,7 @@
 
 
 
-
-

How do I set tags by hand?

-
+

How do I set tags by hand?

Any tag may be changed by hand:
@@ -85,9 +79,7 @@
 
 
 
-
-

How do I try lltag without actually tagging?

-
+

How do I try lltag without actually tagging?

   lltag --dry-run
@@ -95,9 +87,7 @@
 
 
 
-
-

How do I change what confirmation lltag wants?

-
+

How do I change what confirmation lltag wants?

It is possible to remove any need for confirmation when no problem occurs:
@@ -119,9 +109,7 @@
 
 
 
-
-

How do I see how lltag parses filename?

-
+

How do I see how lltag parses filename?

lltag uses internal format that are defined in /etc/lltag/formats/. You might see them with: @@ -131,9 +119,7 @@ - -

How do I force lltag to use another format?

-
+

How do I force lltag to use another format?

If internal formats do not fit the way your filename is written, you may pass additional formats with: @@ -148,9 +134,7 @@ - -

What is the preferred parser?

-
+

What is the preferred parser?

If all your filenames have the same format, i.e. they may be matched with the same parser, you might want to try this one first instead of seeing the other @@ -170,9 +154,7 @@ - -

What is CDDB and why does lltag need it?

-
+

What is CDDB and why does lltag need it?

CDDB is a huge online database of CD describing their artist, album, date, tracks, ... everything that lltag considers as tags. @@ -192,9 +174,7 @@ - -

How do get tags from CDDB?

-
+

How do get tags from CDDB?

The common way to search a CD on CDDB is to pass keywords, which return a list of matching CDs. Then, you choose a CD in the list, and a track in the CD tracks. @@ -217,9 +197,7 @@ - -

How do choose a precise CD in CDDB?

-
+

How do choose a precise CD in CDDB?

All CD that are registered in CDDB are identified by a category and an hexadecimal identifier. When searching by keywords, lltag will @@ -231,9 +209,7 @@ - -

Is the interactive interface always required to access CDDB?

-
+

Is the interactive interface always required to access CDDB?

The CDDB interface seems to be designed for interactive usage since the user is supposed to choose a CD in the list of CDs returned by the keywords query, @@ -259,9 +235,7 @@ - -

How do I set a specific value? What are explicit tag values?

-
+

How do I set a specific value? What are explicit tag values?

Each tag field may receive a specific value even if it is not obtained through parsing the filename or so: @@ -281,9 +255,7 @@ - -

How do I cleanup tags?

-
+

How do I cleanup tags?

If your filenames are dirty, it is possible to ask lltag to be flexible with spaces. Any space in the format might be matched with 0 or several spaces @@ -309,9 +281,7 @@ - -

How do I rename files after tagging?

-
+

How do I rename files after tagging?

Files might be renamed using the tags that were gotten from original filename parsing:
@@ -325,9 +295,7 @@
 
 
 
-
-

How do I rename files without tagging?

-
+

How do I rename files without tagging?

lltag may also be used as a renaming program without any tagging: debian/patches/debianize_dependencies_in_warnings.patch0000644000000000000000000001060511413644761020705 0ustar Replace raw perl dependencies with Debian package dependencies. --- lib/Lltag/CDDB.pm | 4 ++-- lib/Lltag/FLAC.pm | 2 +- lib/Lltag/MP3.pm | 2 +- lib/Lltag/MP3v2.pm | 2 +- lib/Lltag/Misc.pm | 3 ++- lib/Lltag/OGG.pm | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-) Index: trunk/lib/Lltag/CDDB.pm =================================================================== --- trunk.orig/lib/Lltag/CDDB.pm 2007-04-08 21:09:19.000000000 +0200 +++ trunk/lib/Lltag/CDDB.pm 2007-04-09 02:51:01.000000000 +0200 @@ -36,7 +36,7 @@ my $self = shift ; if (not eval { require LWP ; } ) { - print "LWP (libwww-perl module) does not seem to be available, disabling CDDB.\n" + print "LWP (libwww-perl package) does not seem to be available, disabling CDDB.\n" if $self->{verbose_opt} ; $cddb_supported = 0 ; return ; @@ -621,7 +621,7 @@ my ($res, $values) ; if (!$cddb_supported) { - print " Cannot use CDDB without LWP (libwww-perl module).\n" ; + print " Cannot use CDDB without LWP (libwww-perl package).\n" ; goto ABORT ; } Index: trunk/lib/Lltag/FLAC.pm =================================================================== --- trunk.orig/lib/Lltag/FLAC.pm 2006-12-22 15:40:53.000000000 +0100 +++ trunk/lib/Lltag/FLAC.pm 2007-04-09 02:51:01.000000000 +0200 @@ -9,7 +9,7 @@ my $self = shift ; # cannot test with "metaflac -h" since it returns 1 my ($status, @output) = Lltag::Misc::system_with_output ("metaflac", "/dev/null") ; - print "metaflac does not seem to work, disabling 'Flac' backend.\n" + print "metaflac does not seem to work (is the 'flac' package installed?), disabling 'Flac' backend.\n" if $status and $self->{verbose_opt} ; return $status ; } Index: trunk/lib/Lltag/Misc.pm =================================================================== --- trunk.orig/lib/Lltag/Misc.pm 2007-03-31 19:17:50.000000000 +0200 +++ trunk/lib/Lltag/Misc.pm 2007-04-09 02:51:01.000000000 +0200 @@ -58,7 +58,8 @@ # 0 = no clearing, 1 = clearing allowed and documented, -1 = clearing allowed (normal behavior) $preput = "" if not defined $preput ; if ($readline_firsttime) { - print $indent."You might want to install an advanced Perl readline module such as 'Term::ReadLine::GNU'.\n" ; + print $indent."You might want to install an advanced Perl readline module such as 'Term::ReadLine::GNU'\n" ; + print $indent."(provided by package 'libterm-readline-gnu-perl').\n" ; print $indent."The current value is given in parenthesis, to keep it" . ($clear_allowed>0 ? ", to clear it" : "") . ".\n" ; Index: trunk/lib/Lltag/MP3.pm =================================================================== --- trunk.orig/lib/Lltag/MP3.pm 2007-04-08 18:20:17.000000000 +0200 +++ trunk/lib/Lltag/MP3.pm 2007-04-09 02:51:01.000000000 +0200 @@ -8,7 +8,7 @@ sub test_mp3info { my $self = shift ; my ($status, @output) = Lltag::Misc::system_with_output ("mp3info", "-h") ; - print "mp3info does not seem to work, disabling 'MP3' backend.\n" + print "mp3info does not seem to work (is the 'mp3info' package installed?), disabling 'MP3' backend.\n" if $status and $self->{verbose_opt} ; return $status ; } Index: trunk/lib/Lltag/OGG.pm =================================================================== --- trunk.orig/lib/Lltag/OGG.pm 2007-04-03 22:04:15.000000000 +0200 +++ trunk/lib/Lltag/OGG.pm 2007-04-09 02:51:01.000000000 +0200 @@ -8,7 +8,7 @@ sub test_vorbiscomment { my $self = shift ; my ($status, @output) = Lltag::Misc::system_with_output ("vorbiscomment", "-h") ; - print "vorbiscomment does not seem to work, disabling 'OGG' backend.\n" + print "vorbiscomment does not seem to work (is the 'vorbis-tools' package installed?), disabling 'OGG' backend.\n" if $status and $self->{verbose_opt} ; return $status ; } Index: trunk/lib/Lltag/MP3v2.pm =================================================================== --- trunk.orig/lib/Lltag/MP3v2.pm 2007-04-09 02:51:38.000000000 +0200 +++ trunk/lib/Lltag/MP3v2.pm 2007-04-09 02:52:15.000000000 +0200 @@ -13,7 +13,7 @@ sub test_MP3Tag { my $self = shift ; if (not eval { require MP3::Tag ; } ) { - print "MP3::Tag does not seem to be available, disabling 'MP3v2' backend.\n" + print "MP3::Tag does not seem to be available (is the 'libmp3-tag-perl' package installed?), disabling 'MP3v2' backend.\n" if $self->{verbose_opt} ; return -1 ; } debian/compat0000644000000000000000000000000211342420516010362 0ustar 5 debian/preinst0000755000000000000000000000111010644252544010577 0ustar #!/bin/sh set -e #DEBHELPER# # Remove the conffile unless modified rm_unchanged_conffile() { CONFFILE="$1" if [ -e "$CONFFILE" ]; then md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`" old_md5sum=`dpkg-query -W -f='${Conffiles} ' lltag | grep "$CONFFILE[[:space:]]" | cut -d' ' -f3` if [ "$md5sum" = "$old_md5sum" ]; then rm -f "$CONFFILE" fi fi } case "$1" in upgrade) # /etc/lltag/config is installed in /usr/share/doc starting at 0.13.1-1 if dpkg --compare-versions "$2" le "0.13.1-1"; then rm_unchanged_conffile "/etc/lltag/config" fi esac debian/watch0000644000000000000000000000012210313754406010215 0ustar version=3 http://download.gna.org/lltag/lltag-([\d\w\.]+).tar.bz2 debian uupdate debian/changelog0000644000000000000000000002157211742473432011056 0ustar lltag (0.14.4-2) unstable; urgency=low * Bump Standards-Version to 3.9.3, no changes needed. * Fix copyright-refers-to-symlink-license. * Add 01-fix_rename_case.patch to fix renaming when tag names are not upper case, closes: #666677. * Add 02-howto_fixes.patch to cleanup howto.html. -- Brice Goglin Sun, 15 Apr 2012 09:20:29 +0200 lltag (0.14.4-1) unstable; urgency=low * New upstream release. * Drop 01_fix_typos.patch, applied upstream. * Add dummy build-indep and build-arch rules to fix Lintian warnings. -- Brice Goglin Tue, 02 Aug 2011 13:37:03 +0200 lltag (0.14.3-2) unstable; urgency=low * Add descriptions to patches. * Switch to dpkg-source 3.0 (quilt) format * Bump Standards-Version to 3.9.0, no changes needed. * Register howto.html to doc-base. * Add 01_fix_typos.patch to make lintian happy. -- Brice Goglin Sat, 03 Jul 2010 18:19:50 +0200 lltag (0.14.3-1) unstable; urgency=low * New upstream release. + Do not try to initialize readline in non-interactive environment, only fail if readline is actually needed, closes: #558831. * Add Vcs-Svn and Vcs-Browser fields. * Bump debhelper compatibility to 5, adjust Build-Depends, add ${misc:Depends} to Depends. * Bump Standards-Version to 3.8.4, no changes needed. * Wrap Build-Depends, Depends and Recommends. -- Brice Goglin Sun, 21 Mar 2010 00:11:47 +0100 lltag (0.14.2-1) unstable; urgency=low * New upstream release. * Bump Standards-Version to 3.7.3, no changes needed. * Move the homepage URL from the description to the new Homepage field. -- Brice Goglin Sun, 16 Dec 2007 12:31:38 +0100 lltag (0.14.1-1) unstable; urgency=low * Use dpkg-query instead of parsing /var/lib/dpkg/status in preinst (lintian error maintainer-script-uses-dpkg-status-directly). * Keep CDDB tags in UTF-8 when using a UTF-8 locale, closes: #418951. * Fix typo in lltag.1, closes: #438795. -- Brice Goglin Sat, 22 Sep 2007 11:28:26 +0200 lltag (0.14-1) unstable; urgency=low * New upstream release. * Add an EXAMPLES section in the manpage, closes: #406213. * Add Recommends: on libmp3-tag-perl. * Refresh debianize_dependencies_in_warnings.patch and add a hunk about libmp3-tag-perl. * Add preinst to remove /etc/lltag/config unless modified since this file has been moved to /usr/share/doc. * Add an empty line between paragraphs in the description, thanks to Christoph Berg. -- Brice Goglin Mon, 09 Apr 2007 12:05:50 +0200 lltag (0.13.1-1) unstable; urgency=low * New upstream release. * Be sure to not include the unused MP3v2.pm in the diff.gz. * Install lltag.1 and the new lltag_config.5 and lltag_formats.5 with dh_installman instead of relying on the upstream Makefile. * Install config file with the documentation to reflect upstream change. * Update Standards-Version to 3.7.2.2, no change required. -- Brice Goglin Fri, 1 Dec 2006 18:22:57 +0100 lltag (0.13-1) unstable; urgency=low * New upstream release. * Add "files..." to the synopsis, closes: #397627. * Uses TrackType.org instead of freedb.org for CDDB requests since the HTTP search interface of freedb.org is not available for now, closes: #397626. * Add libwww-perl to Recommends according to new upstream requirements. * Update debianize_dependencies_in_warnings.patch to add a message about libwww-perl. * Add homepage to the description. -- Brice Goglin Thu, 16 Nov 2006 23:05:08 +0100 lltag (0.12.2-1) unstable; urgency=low * New upstream release. * Rename use_debian_package_names_when_warning_about_dependencies.patch into debianize_dependencies_in_warnings.patch. -- Brice Goglin Mon, 23 Oct 2006 13:41:44 +0200 lltag (0.12.1-1) unstable; urgency=low * New upstream release. * Include /usr/share/quilt/quilt.make in debian/rules to manage patches and add quilt (>= 0.40) to Build-Depends. * Add use_debian_package_names_when_warning_about_dependencies.patch to debianize error messages. -- Brice Goglin Tue, 3 Oct 2006 19:38:23 +0200 lltag (0.12-1) unstable; urgency=low * New upstream release. * Install HTML files from the new upstream doc/ subdirectory. * Update debian/rules to pass PERL_INSTALLDIRS=vendor. * Update the description according to new upstream CDDB feature and add a sentence about the interface being automatic. * Update Standards-Version to 3.7.2. * Add an empty binary-arch target in debian/rules. * Replace Build-Depends-Indep with Build-Depends in debian/control. -- Brice Goglin Tue, 19 Sep 2006 21:45:24 -0400 lltag (0.11-1) unstable; urgency=low * New upstream release. * Update the description. -- Brice Goglin Sun, 19 Mar 2006 00:01:41 -0500 lltag (0.10-1) unstable; urgency=low * New upstream release. * Recommends libterm-readline-gnu-perl | libterm-readline-perl-perl since upstream now benefits from the readline features. Update README.Debian. -- Brice Goglin Sat, 19 Nov 2005 02:48:12 -0500 lltag (0.9.1-1) unstable; urgency=low * New upstream release. -- Brice Goglin Mon, 17 Oct 2005 20:55:28 +0200 lltag (0.9-1) unstable; urgency=low * New upstream release. * Updated description for FLAC support. -- Brice Goglin Sun, 2 Oct 2005 19:07:58 +0200 lltag (0.8-1) unstable; urgency=low * New upstream release. * FLAC support added, now suggests flac. * Updated homepage and contact address that are now hosted by Gna!. -- Brice Goglin Tue, 27 Sep 2005 23:23:17 +0200 lltag (0.7.1-1) unstable; urgency=low * New upstream release. * Change section to sound, closes: #325293. * Change priority from optional to extra since mp3info is extra. * Do not depend on mp3info and vorbis-tools, just recommends. * Add README.Debian to detail recommended packages. * Add debian/watch. -- Brice Goglin Wed, 7 Sep 2005 18:00:06 +0200 lltag (0.6.1-3) unstable; urgency=low * First official release, closes: #320637. -- Brice Goglin Mon, 1 Aug 2005 19:36:47 +0200 lltag (0.6.1-2) unstable; urgency=low * Fix the description. -- Brice Goglin Sun, 31 Jul 2005 16:30:41 +0200 lltag (0.6.1-1) unstable; urgency=low * New upstream release. -- Brice Goglin Sat, 30 Jul 2005 23:24:02 +0200 lltag (0.6-1) unstable; urgency=low * New upstream release. -- Brice Goglin Sat, 30 Jul 2005 21:36:27 +0200 lltag (0.5.5-1) unstable; urgency=low * New upstream release. * Make a serious description. -- Brice Goglin Sat, 30 Jul 2005 13:26:54 +0200 lltag (0.5.4-1) unstable; urgency=low * New upstream release. -- Brice Goglin Mon, 23 May 2005 00:35:26 +0200 lltag (0.5.3-1) unstable; urgency=low * New upstream release. -- Brice Goglin Thu, 12 May 2005 21:27:15 +0200 lltag (0.5.2-1) unstable; urgency=low * New upstream release. -- Brice Goglin Sun, 10 Apr 2005 00:41:08 +0200 lltag (0.5.1-1) unstable; urgency=low * New upstream release. -- Brice Goglin Wed, 30 Mar 2005 23:53:34 +0200 lltag (0.5-1) unstable; urgency=low * New upstream release. -- Brice Goglin Sun, 13 Mar 2005 20:24:22 +0100 lltag (0.4.2-1) unstable; urgency=low * New upstream release. -- Brice Goglin Mon, 7 Mar 2005 00:00:04 +0100 lltag (0.4.1-1) unstable; urgency=low * New upstream release. -- Brice Goglin Sun, 6 Mar 2005 22:15:45 +0100 lltag (0.4) unstable; urgency=low * New upstream release. * Add homepage to debian/copyright. * Update description in debian/changelog. -- Brice Goglin Sun, 6 Mar 2005 15:33:42 +0100 lltag (0.3.1-1) unstable; urgency=low * New upstream release. * Fix description. -- Brice Goglin Tue, 1 Mar 2005 02:14:44 +0100 lltag (0.3-1) unstable; urgency=low * New upstream release, now named lltag. * Split Debian and upstream changelogs. * Use upstream Makefile in debian/rules. * Check with lintian. -- Brice Goglin Sun, 27 Feb 2005 12:10:35 +0100 llmp3tag (0.2-1) unstable; urgency=low * New upstream release. -- Brice Goglin Sun, 27 Feb 2005 02:14:50 +0100 llmp3tag (0.1-1) unstable; urgency=low * Initial upstream release. -- Brice Goglin Wed, 15 Dec 2004 19:47:00 +0200 debian/copyright0000644000000000000000000000146011742213667011133 0ustar lltag was packaged for Debian by Brice Goglin in Nov 2005. It was downloaded from http://home.gna.org/lltag. lltag is copyright (c) 2004-2005 Brice Goglin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL-2 file. debian/rules0000755000000000000000000000213411615760532010254 0ustar #!/usr/bin/make -f # Sample debian/rules that uses debhelper. # GNU copyright 1997 to 1999 by Joey Hess. #export DH_VERBOSE=1 #export DH_COMPAT=3 build-arch: build build-indep: build build: dh_testdir make PREFIX=/usr SYSCONFDIR=/etc MANDIR=/usr/share/man PERL_INSTALLDIRS=vendor touch build-stamp clean: dh_testdir dh_testroot rm -f build-stamp dh_clean make clean PREFIX=/usr SYSCONFDIR=/etc MANDIR=/usr/share/man PERL_INSTALLDIRS=vendor install: build dh_testdir dh_testroot dh_clean -k make install DESTDIR=$(CURDIR)/debian/lltag PREFIX=/usr SYSCONFDIR=/etc MANDIR=/usr/share/man PERL_INSTALLDIRS=vendor # Build architecture-dependent files here. binary-arch: build install # Build architecture-independent files here. binary-indep: build install dh_testdir dh_testroot dh_installchangelogs Changes dh_installdocs doc/howto.html doc/config dh_installman lltag.1 lltag_config.5 lltag_formats.5 dh_compress dh_fixperms dh_installdeb dh_perl dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure debian/README.Debian0000644000000000000000000000144510337554336011244 0ustar Debian README for lltag package =============================== lltag recommends mp3info, vorbis-tools and flac Debian packages. It does not _depend_ on these packages since you might want to tag mp3 files without having to install vorbis-tools or flac. If tagging fails saying that mp3info, vorbiscomment or metaflac command does not exist, you should install the required package. lltag may benefit from readline features when editing tags by hands. It is recommended to install libterm-readline-gnu-perl to get a fully functional readline editor mode with on-file saving of the history. libterm-readline-perl-perl may be used instead, even if it provides less features than the former. If none of the above is installed, lltag uses standard Perl input functions, that is almost nothing interesting.