network/youtube-dl: Corner case build fix and misc cleanups

Thanks to Jason Woodward for reportng the corner case build
problem and sending along a patch, and thanks in advance for
understanding why I fixed the issue in a different way :)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Robby Workman 2010-10-10 12:22:28 -05:00
parent 496384c10d
commit c195c97d48
3 changed files with 290 additions and 15 deletions

View file

@ -0,0 +1,285 @@
.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.09)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "YOUTUBE-DL 1"
.TH YOUTUBE-DL 1 "2009-11-19" "perl v5.10.1" "User Commands"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
youtube\-dl \- download videos from youtube.com
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& youtube\-dl [options] url ...
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
youtube-dl is a script to download videos from youtube.com.
.PP
Once it is installed in your system, you should be able to call it from
the command line. Usage instructions are easy. Use youtube-dl followed
by a video \s-1URL\s0 or identifier. As an example, consider:
.PP
.Vb 1
\& youtube\-dl "http://www.youtube.com/watch?v=foobar"
.Ve
.PP
The video will be saved to the file \f(CW\*(C`foobar.flv\*(C'\fR in that example. Many
YouTube.com videos are in Flash Video format and their extension would
be \f(CW\*(C`flv\*(C'\fR. Other videos are encoded in H.264 and these usually have the
extension \f(CW\*(C`mp4\*(C'\fR. In Linux and other unices, video players using a
recent version of ffmpeg can play them. That includes MPlayer, \s-1VLC\s0,
xine, among others.
.SH "OPTIONS"
.IX Header "OPTIONS"
\&\fByoutube-dl\fR accepts options in the following categories
.IP "\-h, \-\-help" 4
.IX Item "-h, --help"
Print help text and exit.
.IP "\-v, \-\-version" 4
.IX Item "-v, --version"
Print program version and exit.
.IP "\-i, \-\-ignore\-errors" 4
.IX Item "-i, --ignore-errors"
Ignore errors during download and continue processing.
.IP "\-r \fBL\fR, \-\-rate\-limit=\fBL\fR" 4
.IX Item "-r L, --rate-limit=L"
Limit the download speed to the specified maximum \fBL\fR (e.g., 50k or 44.6m).
.IP "\-u \fB\s-1UN\s0\fR, \-\-username=\fB\s-1UN\s0\fR" 4
.IX Item "-u UN, --username=UN"
Specify the youtube account username \fB\s-1UN\s0\fR. Some videos require an
account to be downloaded, mostly because they're flagged as mature
content.
.IP "\-p \fB\s-1PW\s0\fR, \-\-password=\fB\s-1PW\s0\fR" 4
.IX Item "-p PW, --password=PW"
Like the username, specifies the account password to be \fB\s-1PW\s0\fR.
.IP "\-n, \-\-netrc" 4
.IX Item "-n, --netrc"
Get authentication data from the standard unix .netrc file on the user's
home directory. The machine name is youtube in regarding this usage.
.IP "\-f \s-1FMT\s0, \-\-format=FMT" 4
.IX Item "-f FMT, --format=FMT"
Specify the video format (quality) in which to download the video. Note
that not all videos are available in all formats.
.IP "\-b, \-\-best\-quality" 4
.IX Item "-b, --best-quality"
Download the best video quality available for the video(s) specified by
the user.
.IP "\-m, \-\-mobile\-version" 4
.IX Item "-m, --mobile-version"
Synonymous to the option \*(L"\-f 17\*(R", to download videos playable on some
mobile phones.
.IP "\-d, \-\-high\-def" 4
.IX Item "-d, --high-def"
Synonymous to the option \*(L"\-f 37\*(R", to download videos in \s-1HD\s0 quality
(1080p).
.IP "\-q, \-\-quiet" 4
.IX Item "-q, --quiet"
Activates quiet mode, avoiding many messages being written to the
terminal.
.IP "\-s, \-\-simulate" 4
.IX Item "-s, --simulate"
Simulate the operation, but do not download the video. Useful for
testing.
.IP "\-g, \-\-get\-url" 4
.IX Item "-g, --get-url"
Simulate the operation, like quiet mode, but show the \s-1URL\s0 that would be
used to download the video. Can be used with other download tools like
wget or aria2c.
.IP "\-e, \-\-get\-title" 4
.IX Item "-e, --get-title"
Simulate the operation, like quiet mode, but show the title of the video
that would be downloaded.
.IP "\-t, \-\-title" 4
.IX Item "-t, --title"
Use the title of the video in the file name used to download the video.
.IP "\-l, \-\-literal" 4
.IX Item "-l, --literal"
Use the literal title of the video in file name used to download the
video. Can contain \*(L"weird\*(R" characters that are not filtered like with
the \-t option.
.IP "\-o \fB\s-1TPL\s0\fR, \-\-output=\fB\s-1TPL\s0\fR" 4
.IX Item "-o TPL, --output=TPL"
Specify a template \fB\s-1TPL\s0\fR for the names of the files to be created when
they are downloaded. The default filename is video_id.flv. But you can
also use the video title in the filename with the \f(CW\*(C`\-t\*(C'\fR or \f(CW\*(C`\-\-title\*(C'\fR
option, or preserve the literal title in the filename with the \f(CW\*(C`\-l\*(C'\fR or
\&\f(CW\*(C`\-\-literal\*(C'\fR option.
.IP "\-a \fBF\fR, \-\-batch\-file=\fBF\fR" 4
.IX Item "-a F, --batch-file=F"
Specify the name of a file containing URLs of videos to download from
youtube in batch mode. The file must contain one \s-1URL\s0 per line.
.IP "\-w, \-\-no\-overwrites" 4
.IX Item "-w, --no-overwrites"
Do no overwrite already existing files.
.IP "\-c, \-\-continue" 4
.IX Item "-c, --continue"
Resume partially downloaded files.
.SH "OUTPUT TEMPLATE"
.IX Header "OUTPUT TEMPLATE"
The \-o option allows users to indicate a template for the output file
names. The basic usage is not to set any template arguments when
downloading a single file, like in youtube-dl \-o funny_video.flv
\&\*(L"http://some/video\*(R". However, it may contain special sequences that will
be replaced when downloading each video.
.PP
The special sequences have the format \f(CW\*(C`%(NAME)s\*(C'\fR. To clarify, that's a
percent symbol followed by a name in parenthesis, followed by a
lowercase S. Allowed names are:
.IP "id" 4
.IX Item "id"
The sequence will be replaced by the video identifier.
.IP "url" 4
.IX Item "url"
The sequence will be replaced by the video \s-1URL\s0.
.IP "uploader" 4
.IX Item "uploader"
The sequence will be replaced by the nickname of the person who uploaded
the video.
.IP "title" 4
.IX Item "title"
The sequence will be replaced by the literal video title.
.IP "stitle" 4
.IX Item "stitle"
The sequence will be replaced by a simplified video title, restricted to
alphanumeric characters and dashes.
.IP "ext" 4
.IX Item "ext"
The sequence will be replaced by the appropriate extension (like \f(CW\*(C`flv\*(C'\fR
or \f(CW\*(C`mp4\*(C'\fR).
.IP "epoch" 4
.IX Item "epoch"
The sequence will be replaced by the Unix epoch when creating the file.
.PP
As you may have guessed, the default template is \f(CW\*(C`%(id)s.%(ext)s\*(C'\fR. When
some command line options are used, it's replaced by other templates
like \f(CW\*(C`%(title)s\-%(id)s.%(ext)s\*(C'\fR. You can specify your own.
.SH "AUTHOR"
.IX Header "AUTHOR"
youtube-dl was written by Ricardo Garcia Gonzalez and many contributors
from all around the internet. This manpage was written by RogA\*~Xrio Brito
<rbrito@users.sf.net>.

Binary file not shown.

View file

@ -25,7 +25,7 @@
PRGNAM=youtube-dl
VERSION=${VERSION:-2010.08.04}
ARCH=noarch
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
CWD=$(pwd)
@ -38,27 +38,17 @@ set -e # Exit on most errors
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM
mkdir -p $PKG/usr/bin
install -m 0755 $CWD/$PRGNAM $PKG/usr/bin/$PRGNAM
mkdir -p ${PKG}/usr/bin
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
install -m0755 ${CWD}/${PRGNAM} ${PKG}/usr/bin/${PRGNAM}
mkdir -p $PKG/usr/man/man1
gzip -9c $CWD/youtube-dl.1 > $PKG/usr/man/man1/youtube-dl.1.gz
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/usr/man/man1/
cp $CWD/youtube-dl.1.gz $PKG/usr/man/man1/
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}