Changes setup option --freedom to manditory.

Reason:

Nopony should be by mistake install non-free ponies thinking that
that are free because the license of ponysay itself is free.
But nopony should either just make in installation and miss out
one all the ponies just because the he had not read the information
on how to install the package.
This commit is contained in:
Mattias Andrée 2012-11-03 03:42:28 +01:00
parent 5ca031aded
commit 71a3ffe889
3 changed files with 34 additions and 12 deletions

View file

@ -31,7 +31,7 @@ Version 3.0
Setup option --sysconf-dir with default value /etc added. Setup option --sysconf-dir with default value /etc added.
Setup option --freedom with default value sloppy added. New manditory setup option --freedom.
Version 2.9.1 Version 2.9.1

View file

@ -623,7 +623,7 @@ you may want to do, everything in the source code can be used directly as long a
is defined before @file{~/.ponysayrc} is interpreted. is defined before @file{~/.ponysayrc} is interpreted.
@file{~/.ponysayrc} is a fallback for @file{~/.config/ponysay/ponysayrc}, which in @file{~/.ponysayrc} is a fallback for @file{~/.config/ponysay/ponysayrc}, which in
turn is a fallback for @file{${XDG_CONFIG_HOME}/ponysay/ponysayrc}. If neither of turn is a fallback for @file{$@{XDG_CONFIG_HOME@}/ponysay/ponysayrc}. If neither of
those exist, @file{/etc/ponysayrc} is used if that exists. those exist, @file{/etc/ponysayrc} is used if that exists.
@ -1539,9 +1539,13 @@ If you have @command{git} you can @command{clone} the project URL
@url{https://github.com/erkin/ponysay.git}. @url{https://github.com/erkin/ponysay.git}.
In the terminal, @command{cd} into the ponysay directory and execute In the terminal, @command{cd} into the ponysay directory and execute
@command{./setup.py install} or @command{python3 setup.py install}. This will install @command{./setup.py --freedom=parital install} or
@command{python3 setup.py --freedom=parital install}. This will install
@command{ponysay} into @file{/usr}, normally meaning you need to run as root, e.g. by @command{ponysay} into @file{/usr}, normally meaning you need to run as root, e.g. by
running @command{sudo ./setup.py install}. running @command{sudo ./setup.py --freedom=parital install}.
The @command{--freedom} option and manditory, if you only want completely free
ponies, use @command{--freedom=strict} instread of @command{--freedom=partial}.
Now you will be to use ponysay, run: @command{ponysay "I am just the cutest pony!"}, Now you will be to use ponysay, run: @command{ponysay "I am just the cutest pony!"},
or if have a specific pony in your mind: @command{ponysay -f pinkie "Partay!~"}. or if have a specific pony in your mind: @command{ponysay -f pinkie "Partay!~"}.
@ -1949,7 +1953,7 @@ Recognised arguments are @code{copy}, @code{hard} and @code{symbolic}.
or @code{hard} is used. This is because it does link reading and not content or or @code{hard} is used. This is because it does link reading and not content or
inode comparison. inode comparison.
@item --freedom=sloppy @item --freedom=MANDITORY!
@opindex @option{--freedom} @opindex @option{--freedom}
@cindex full freedom @cindex full freedom
@cindex freedom, full @cindex freedom, full
@ -1957,6 +1961,9 @@ Set your freedom. If you the any of the values @code{strict}, @code{full} or @co
the setup will make sure that only completly free parts of the package is installed. the setup will make sure that only completly free parts of the package is installed.
This should be used (@code{--freedom=strict}) on distributions for GNU endorsed (endorsable) This should be used (@code{--freedom=strict}) on distributions for GNU endorsed (endorsable)
GNU/Linux-libre distributions. GNU/Linux-libre distributions.
If you do not want this, will need to explicity say so (you do also need to say if you
do want it) by using either of the values @code{sloppy}, @code{partial} or @code{no}.
@end table @end table
Recognised compressions are @option{gz} which uses @option{gzip -9}, and @option{xz} Recognised compressions are @option{gz} which uses @option{gzip -9}, and @option{xz}
@ -2522,7 +2529,11 @@ build()
cd ponysay ; git checkout "$pkgver" cd ponysay ; git checkout "$pkgver"
./setup.py --everything --without-pdf-compression \ ./setup.py --everything --without-pdf-compression \
--bin-dir=/usr/bin --dest-dir="$pkgdir" build --bin-dir=/usr/bin --dest-dir="$pkgdir" \
--freedom=parital build
# CHANGE --freedom=parital to --freedom=strict
# FOR ONLY COMPLETELY FREE PONIES
@} @}
package() package()
@ -2587,7 +2598,7 @@ Pony files located in @file{/usr/share/ponysay}.
@itemx usrponies @itemx usrponies
@cindex homeponies @cindex homeponies
@cindex usrponies @cindex usrponies
Pony files located in @file{${XDG_DATA_HOME}/ponysay} or @file{~/.local/share/ponysay} (fallback). Pony files located in @file{$@{XDG_DATA_HOME@}/ponysay} or @file{~/.local/share/ponysay} (fallback).
@item browser ponies @item browser ponies
@cindex browser ponies @cindex browser ponies
@ -2721,7 +2732,7 @@ Environment variable @env{PONYSAY_WRAP_LIMIT} has been added.
@item @item
Environment variable @env{PONYSAY_WRAP_EXCEED} has been added. Environment variable @env{PONYSAY_WRAP_EXCEED} has been added.
@item @item
Added support for @file{~/.ponysayrc} with the alternatives: @file{${XDG_CONFIG_HOME}/ponysay/ponysayrc} Added support for @file{~/.ponysayrc} with the alternatives: @file{$@{XDG_CONFIG_HOME@}/ponysay/ponysayrc}
and @file{~/.config/ponysay/ponysayrc} as well as the global fallback @file{/etc/ponysayrc} and @file{~/.config/ponysay/ponysayrc} as well as the global fallback @file{/etc/ponysayrc}
@item @item
@option{-f}, @option{+f} and @option{-q} may be unargumented if that are at the end of the command line. @option{-f}, @option{+f} and @option{-q} may be unargumented if that are at the end of the command line.
@ -2733,7 +2744,7 @@ and @file{~/.config/ponysay/ponysayrc} as well as the global fallback @file{/etc
Pony metadata tags @var{BALLOON TOP} and @var{BALLOON BOTTOM} can be used to specify how much extra Pony metadata tags @var{BALLOON TOP} and @var{BALLOON BOTTOM} can be used to specify how much extra
height the balloon causes at the top and at the bottom of the pony. height the balloon causes at the top and at the bottom of the pony.
@item @item
@file{${XDG_DATA_HOME}/ponysay/*} is allowed in favour of @file{${HOME}/.local/share/ponysay/*} @file{$@{XDG_DATA_HOME@}/ponysay/*} is allowed in favour of @file{$@{HOME@}/.local/share/ponysay/*}
@item @item
Balloons can be have and explicit minimum column span with placement justification. Balloons can be have and explicit minimum column span with placement justification.
@item @item
@ -2742,7 +2753,7 @@ dimension files generated), however if no pony fits, any of the can be randomly
@item @item
Setup option @option{--sysconf-dir} with default value @file{/etc} added, Setup option @option{--sysconf-dir} with default value @file{/etc} added,
@item @item
Setup option @option{--freedom} with default value @code{sloppy} added, New manditory setup option @option{--freedom}.
@end itemize @end itemize

View file

@ -234,7 +234,7 @@ class Setup():
alternatives = ['--linking'], arg='TYPE') alternatives = ['--linking'], arg='TYPE')
opts.add_argumented (help = 'Do only install fully free parts of the pacakge\nDefault = sloppy, use strict, full or yes if you want to do this', opts.add_argumented (help = 'Install all ponies or only the completely free ponies\nThis option is manditory, use strict, full or yes for only free ponies,\nand partial, sloppy or no for all ponies',
alternatives = ['--freedom'], arg='FREEDOM') alternatives = ['--freedom'], arg='FREEDOM')
@ -247,10 +247,21 @@ class Setup():
self.linking = opts.opts['--linking'][0] self.linking = opts.opts['--linking'][0]
self.free = False self.free = None
if opts.opts['--freedom'] is not None: if opts.opts['--freedom'] is not None:
if opts.opts['--freedom'][0].lower() in ('strict', 'full', 'yes'): if opts.opts['--freedom'][0].lower() in ('strict', 'full', 'yes'):
self.free = True self.free = True
elif opts.opts['--freedom'][0].lower() in ('partial', 'sloppy', 'no'):
self.free = False
if self.free is None:
print('')
print('You need to select your freedom, add --freedom=strict or --freedom=partial.')
print('')
print('--freedom=strict will install only ponies that are completely free.')
print('--freedom=partial will install all ponies, even if they are not free.')
print('')
print('')
exit(255)
if (opts.opts['---DESTDIR'] is not None) and (opts.opts['--dest-dir'] is None): if (opts.opts['---DESTDIR'] is not None) and (opts.opts['--dest-dir'] is None):