Bug 1176454 - Install using Python byte compile
Summary: Install using Python byte compile
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: youtube-dl
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Christopher Meng
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-12-22 00:06 UTC by nucleo
Modified: 2015-02-07 03:57 UTC (History)
4 users (show)

Fixed In Version: youtube-dl-2015.01.25-1.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-02-01 00:24:29 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Install with setup.py (2.26 KB, patch)
2014-12-22 00:06 UTC, nucleo
no flags Details | Diff
fixed patch (2.15 KB, patch)
2014-12-22 00:12 UTC, nucleo
no flags Details | Diff
Patch for Python 2.7 (2.15 KB, patch)
2014-12-23 21:16 UTC, nucleo
no flags Details | Diff

Description nucleo 2014-12-22 00:06:56 UTC
Created attachment 971825 [details]
Install with setup.py

Description of problem:
In current youtube-dl.spec youtube-dl binary installed with Makefile, but it is actually contains zipped python sources.
But it is possible to install it using usual setup.py and byte compile.
See attached patch for spec.

Version-Release number of selected component (if applicable):
youtube-dl-2014.12.10.3-1.fc21.noarch

Comment 1 nucleo 2014-12-22 00:12:53 UTC
Created attachment 971826 [details]
fixed patch

Comment 2 nucleo 2014-12-22 00:20:16 UTC
Scratch build http://koji.fedoraproject.org/koji/taskinfo?taskID=8456961

Comment 3 nucleo 2014-12-23 21:16:05 UTC
Created attachment 972517 [details]
Patch for Python 2.7

youtube-dl can be installed with python 3 and python 2, so maybe python 2 will be better.

Scratch build http://koji.fedoraproject.org/koji/taskinfo?taskID=8467314

Comment 4 nucleo 2014-12-23 21:54:03 UTC
Time when running current youtube-dl (zip archive):
$ time youtube-dl 
Usage: youtube-dl [options] url [url...]

youtube-dl: error: you must provide at least one URL

real    0m0.790s
user    0m0.719s
sys     0m0.056s

youtube-dl installed with setup.py (from package above):
$ time youtube-dl 
Usage: youtube-dl [options] url [url...]

youtube-dl: error: you must provide at least one URL

real    0m0.236s
user    0m0.182s
sys     0m0.047s

Comment 5 nucleo 2015-01-16 16:46:12 UTC
ping?

youtube-dl installation in Arch Linux also with using of setup.py
https://projects.archlinux.org/svntogit/community.git/plain/trunk/PKGBUILD?h=packages/youtube-dl

Comment 6 Fedora Update System 2015-01-28 19:39:31 UTC
youtube-dl-2015.01.25-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/youtube-dl-2015.01.25-1.fc21

Comment 7 Fedora Update System 2015-01-28 22:59:56 UTC
youtube-dl-2015.01.25-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/youtube-dl-2015.01.25-1.fc20

Comment 8 Fedora Update System 2015-01-28 23:00:57 UTC
youtube-dl-2015.01.25-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/youtube-dl-2015.01.25-1.fc20

Comment 9 Fedora Update System 2015-01-30 04:34:03 UTC
Package youtube-dl-2015.01.25-1.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing youtube-dl-2015.01.25-1.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-1344/youtube-dl-2015.01.25-1.fc20
then log in and leave karma (feedback).

Comment 10 Ali Akcaagac 2015-01-31 14:50:21 UTC
(In reply to nucleo from comment #0)
> Description of problem:
> In current youtube-dl.spec youtube-dl binary installed with Makefile, but it
> is actually contains zipped python sources.
> But it is possible to install it using usual setup.py and byte compile.
> See attached patch for spec.

Are you responsible for this python mess ?

https://bugzilla.redhat.com/show_bug.cgi?id=1187934

Thanks for nothing buddy.

It's impossible to "youtube-dl -U" instantly as soon as something changed and waiting for updated "and outdated" packages doesn't help either. I just found out about this once I did a system update.

Comment 11 nucleo 2015-01-31 15:03:46 UTC
Responsible for what?
If you don't want to use youtube-dl version installed with a package manager then don't use it.

Comment 12 Ali Akcaagac 2015-01-31 15:19:50 UTC
(In reply to nucleo from comment #11)
> Responsible for what?
> If you don't want to use youtube-dl version installed with a package manager
> then don't use it.

Are you aware of the fact that "by saving you x less than 0.5 seconds" of execution time by splitting youtube-dl up into many files, you cut down the instant update capabilities ?

This has nothing to do with "if you don't want to ...". It has something to do with the fact that you can not react on quick changes of websites anymore. Usually the youtube-dl developers quickly fix such issues within hours (if not minutes) and usually doing a youtube-dl -U provides the one tiny small file in the /bin directory. This won't even harm the normal packging provided by RPM (which was one file and its document). Doing youtube-dl -U even if a RPM upgrade shows up afterwards did not harm anything.

So what value does it have to save you less than half a second of execution with the value of being able to instantly react on website changes by updating youtube-dl -U as long as no new RPM package was provided ?

Comment 13 nucleo 2015-01-31 15:28:57 UTC
If you want to  methods such as "youtube-dl" then you can do it yourself on your system but updates in system directories such as /usr/bin should be done only with package manager.
Installation with setup.py is common method used in Fedora python packages
http://fedoraproject.org/wiki/Packaging:Python

Comment 14 nucleo 2015-01-31 15:29:31 UTC
If you want to use update methods such as "youtube-dl -U" then you can do it yourself on your system but updates in system directories such as /usr/bin should be done only with package manager.
Installation with setup.py is common method used in Fedora python packages
http://fedoraproject.org/wiki/Packaging:Python

Comment 15 nucleo 2015-01-31 15:34:43 UTC
See also "No inclusion of pre-built binaries or libraries"
http://fedoraproject.org/wiki/Packaging:Guidelines#No_inclusion_of_pre-built_binaries_or_libraries

Comment 16 Ali Akcaagac 2015-01-31 15:35:15 UTC
> Installation with setup.py is common method used in Fedora python packages
> http://fedoraproject.org/wiki/Packaging:Python

No doubt about that but this package should be taken as an exception because of the nature of it (rapid changes of webpages and content accessing). Id rather have a program that does it job - now - rather than a program that got f*scked up because no one provides new packages within minutes. If you lack CPU power then consider upgrading your hardware rather than trashing a program, that used to work flawlessly since it's introduction inside fedora.

So what benefits do you give users, if you go the "fedora" correct wiki way, if all you get is 2 weeks waiting for an update of youtube-dl which - on arrival - is 3 days out of date again ? Nothing.

Comment 17 Ali Akcaagac 2015-01-31 15:36:56 UTC
(In reply to nucleo from comment #15)
> See also "No inclusion of pre-built binaries or libraries"
And ? You shouldn't cross roads if lights are red but people do it anyways.

Comment 18 nucleo 2015-01-31 15:48:01 UTC
First of all Fedora packages must meet the Packaging Guidelines http://fedoraproject.org/wiki/Packaging:ReviewGuidelines
If you want to update youtube-dl faster than provided with Fedora updates then you can uninstall youtube-dl package and install youtube-dl in your home directory for example with pip (install python-pip package):
'pip install --user youtube_dl' 
This installs latest version from https://pypi.python.org/pypi/youtube_dl in your home directory ~/.local/bin/youtube-dl, ~/.local/lib/python2.7/site-packages/youtube_dl. Then you can upgrade it with
'pip install --upgrade youtube_dl'

Comment 19 Ali Akcaagac 2015-01-31 16:02:12 UTC
The package should move to RPMFusion then. The Fedora rules are breaking core functionality of the software.

Comment 20 nucleo 2015-01-31 16:25:23 UTC
RPM Fusion follows the Fedora packaging guidelines 
http://rpmfusion.org/Contributors#Read_the_packaging_guidelines

Comment 21 Ali Akcaagac 2015-01-31 16:58:12 UTC
RPM Fusion has plenty of pre-build binaries such as jad (java decompiler: which no source code is available). Works perfectly for me and others.

Not going into politics here. I was speaking about the users experience here. Simply refering to guides, do not help. So what does your packaging guidelines say about:

- "exceptions" ?
- "binaries that require external sources (like self updating)" ?
- "programs that need to be altered in a way that make core functions (like self
   updating)" disappear ?
- "user experiences" ?

Personally I have uninstaled youtube-dl and restored the old binary into /bin, which - whenever I like it - get's updated through the recommended way through its -U feature.

Comment 22 nucleo 2015-01-31 17:29:58 UTC
There reason why binaries installed in RPMFusion is that sources for them are not unavailable but this is not youtube-dl case.

Comment 23 nucleo 2015-01-31 17:32:40 UTC
When package made for RPMFusion every such exception should be explained but I think that self-update feature "youtube-dl -U" is not enough reason.

Comment 24 Michael Schwendt 2015-01-31 17:54:46 UTC
RPM Fusion tries to adhere to Fedora's Packaging Guidelines, but not the licensing guidelines, because else it could not offer "nonfree" software, and "nonfree" may include redistributable closed source software, too.

Comment 25 Ali Akcaagac 2015-01-31 18:10:58 UTC
Ok I spent a couple of minutes reading through the packages guidelines. After that found the updates policy guides:

http://fedoraproject.org/wiki/Updates_Policy#All_other_updates

Citation:
;---------------------------
All other updates

All other updates MUST either:
- reach the criteria laid out in the previous section OR
- reach the positive Bodhi karma threshold specified by the updates submitter OR
- spend some minimum amount of time in updates-testing, currently one week

Package maintainers MUST:
- Avoid Major version updates, ABI breakage or API changes if at all possible.
- Avoid changing the user experience if at all possible.
- Avoid updates that are trivial or don't affect any Fedora users.

Package maintainers SHOULD:
- Push only major bug fixes and security fixes to the previous stable release
  (i.e., at present, Fedora last.
;---------------------------

Now that I still use Fedora 20 and Fedora 21 is already released. How would one understand the following sentence ?

;---------------------------
Package maintainers MUST:
- Avoid changing the user experience if at all possible.
- Avoid updates that are trivial or don't affect any Fedora users.
;---------------------------

Avoid changing the user experience AND avoid updates that affect any Fedora users.

Means - for me - please apply these changes to Rawhide. According update policy these changes are not applicable to stable releases since they affect user experiences. Not to mention all scripts and other infrastructure that people have set up (even for youtube-dl) that do not work anymore. E.g. affect Fedora users and or user experiences (my script reports NO UPDATE POSSIBLE) which is not the expected experience and behaviour I would expect from a stable Fedora release with already provided software base that provides some sort of expectation!

Even the "Exceptions" in the update policy explains that "changes should be openeed for discussion before having these changes".

Citation:
;---------------------------
Note that you should open this dialog BEFORE you build or push updates.
;---------------------------

Please someone guide me to the list, where these changes has been communicated.

Further citation:
;---------------------------
Things that would make it less likely to grant a request:
-The update changes the UI the end user sees (moves menus or buttons around, changes option names on command line)
;---------------------------

Command line ? As in youtube-dl -U does not work anymore. This is a command line intrusive surgery, that could have been avoided.

Comment 26 nucleo 2015-01-31 18:22:18 UTC
First of all should be satisfied requirement http://fedoraproject.org/wiki/Packaging:Guidelines#No_inclusion_of_pre-built_binaries_or_libraries that was not satisfied in previous packages.
All youtube-dl functionality not changed in updated package with exception of broken self-update feature "youtube-dl -U" that should not be used for updates because updates in Fedora maintained by package manager (or if you want to use this feature then you should not use Fedora package).
If you want to speed up going to stable new youtube-dl updates then you can add positive Bodhi karma https://admin.fedoraproject.org/updates/search/youtube-dl

Comment 27 Ali Akcaagac 2015-01-31 18:32:39 UTC
(In reply to nucleo from comment #26)
> with exception of broken self-update feature "youtube-dl -U"
Says who ? You ?

So which document is valid ? The packaging one or the one that strictly deals with updates for stable Fedora releases and/or Rawhide ?

Maybe this needs to be pushed to some applicable place for further discussion. Right now I see a break in the update policy for stable Fedora releases.

Fact is, that Fedora 20 and 21 are already released and considered stable. The update policy clearly describes that breaking the user experience should by all means be avoided.

So it's not the users fault that this package hasn't seen the care that it deserves. So you are right and I never said anything else, that this package should follow the packaging guidelines. Which means: Splitting it up.

But I am right as well, because I use a stable Fedora release (still under full support) and expect my tools to behave as they did. In this case it doesn't. Regardless how minor or - in your eyes - useless this feature is. It affects me and my workflow. Needless to say that I spent the whole day being unproductive because of two abandoned updates of my system.

Could this please be forwarded for further discussion? or brought to attention elesewhere? I will accept any decision as long as it has some official touch.

Comment 28 nucleo 2015-01-31 18:41:41 UTC
(In reply to Ali Akcaagac from comment #27)
> (In reply to nucleo from comment #26)
> > with exception of broken self-update feature "youtube-dl -U"
> Says who ? You ?
I explained why such "feature" is not acceptable.

Comment 29 Ali Akcaagac 2015-01-31 18:47:10 UTC
(In reply to nucleo from comment #28)
> I explained why such "feature" is not acceptable.
And I explained why the update policy shouldn't be breached.

Comment 30 nucleo 2015-01-31 18:49:56 UTC
(In reply to Ali Akcaagac from comment #29)
> (In reply to nucleo from comment #28)
> > I explained why such "feature" is not acceptable.
> And I explained why the update policy shouldn't be breached.

There is no any acceptable functionality and user experience changed in this update.

> Could this please be forwarded for further discussion? or brought to
> attention elesewhere? I will accept any decision as long as it has some
> official touch.

https://lists.fedoraproject.org/mailman/listinfo/devel

Comment 31 Fedora Update System 2015-02-01 00:24:29 UTC
youtube-dl-2015.01.25-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 32 Fedora Update System 2015-02-07 03:57:08 UTC
youtube-dl-2015.01.25-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.