No specific packager available for the distro version ubuntu_16_04_xenial

Nicolas Dufresne nicolas at ndufresne.ca
Tue May 8 14:00:07 UTC 2018


Le lun. 7 mai 2018 18:42, David Ing <ding at panopto.com> a écrit :

> That is very interesting.
>
> I really like cerbero and hopefully I can find some personal time to fix
> this over the weekend.
>
> So to summarize, these are the modifications that we would need.
>
>    1. For the Python 3 version of cerbero, the ASCII license text needs
>    to get written as ASCII (not UTF-8).  This seems straight-forward enough.
>
> No, we need to support UTF8, hence use the right method. Cerbero is Python
3 only.


>    1. The deb package paths need to be fixed, including the *.pc files.
>       - I guess the proper way to do this would be to dig into the way
>       the debian packages are being built and make the appropriate modifications.
>
> There is a relocate script in there already.

>
>    -
>       - A hacky way to do this would be extract each deb file using the
>       `ar` command, modify the package paths and the *.pc files, then use the
>       `ar` command to create the new *.deb file.
>
>
Do that pre archiving please. Thought the debug path, and internal path in
the code will still be broken, and you'll need special env still.


>    -
>
> *Question:  Does anybody have some useful tips about accomplishing item #2
> the proper way?*  My knowledge of auto-tools, make, and debian packagers
> is very limited.  Without guidance I will need to use the hacky solution,
> which means it probably won't get merged into the mainline.
>

What distro do is use --prefix to install path, and make
DESTDIR=TMP/location

But it's difficult, since the dist sysroot will not have the right location.

>
> *Question:  Did I miss anything else that needs to get fixed around *.deb
> file packaging?*
>

I'm not expert in .deb files, and am human, so I cannot say if I missed
anything.


>
>
> On Mon, May 7, 2018 at 7:13 AM, Nicolas Dufresne <nicolas at ndufresne.ca>
> wrote:
>
>>
>>
>> Le lun. 7 mai 2018 15:42, David Ing <ding at panopto.com> a écrit :
>>
>>> Nicolas,
>>>
>>> Are you saying that cerbero is not the preferred way of building deb
>>> packages?  If that is true then what is the preferred way?
>>>
>>
>> Each Linux distribution have their own preferred way, tailored for the
>> specific distro configuration. Some uses Debian Makefiles, some uses RPM
>> specs, some have their own formats.
>>
>> The Debian and RPM packagers in Cerbero have never been used by the
>> GStreamer project to deliver prebuilds binaries, we have always delegated
>> the work of distribution to distributions (Debian, UBuntu, Fedora, etc.).
>> This could change in the future, but likely not through Cerbero.
>>
>> These packagers scripts dates back from the commercial GStreamer SDK
>> project, from witch Cerbero build system was built. It's the only build
>> system that we know that supports all the targets we support (Linux,
>> Windows, OSX, iOS and Android) and are very happy that this tool was later
>> contributed upstream. Though we totally understand the limitation it has
>> over build path, including the fact the the prefix does not match the final
>> installation path (Wich Linux distro packagers normally do correctly). We
>> workaround with scripts, as we don't have strong motivation to revisit
>> these.
>>
>>
>>> On Mon, May 7, 2018, 5:27 AM Nicolas Dufresne <nicolas at ndufresne.ca>
>>> wrote:
>>>
>>>>
>>>>
>>>> Le lun. 7 mai 2018 08:57, Matthew Thyer <matthew.thyer at adelaide.edu.au>
>>>> a écrit :
>>>>
>>>>> I don’t know what gst-shell is.
>>>>>
>>>> Or maybe it's called gst-env, anyway, you need a script in ordered to
>>>> use the files installed by the generated packages. I'm assuming you managed
>>>> to install it after you worked around the Python UTF8 bug. This second bug
>>>> need to be fixed, assuming you have utf8 support in your Python
>>>> installation. It's possible that it's a regression introduced by the
>>>> porting to Python 3. We don't usually tes on bare distro without utf8
>>>> shell. For the first, it will only be fixed if someone is willing to
>>>> improve this packager. It's not used much these days.
>>>>
>>>>
>>>> I’ve documented my steps to reproduce in the report for bug 795792
>>>>> <https://bugzilla.gnome.org/show_bug.cgi?id=795792>.
>>>>>
>>>>> That’s not exactly correct as I’m now restricting my to the Ubuntu
>>>>> Xenial docker image and I’m also building the 1.14 branch.
>>>>>
>>>>> My exact steps are:
>>>>>
>>>>>    1. docker run -it ubuntu:xenial bash
>>>>>    2. apt install -y sudo python3 python-dev git intltool
>>>>>    3. populate your ~/.gitconfig for your identity
>>>>>    4. mkdir ~/git
>>>>>    5. cd ~/git
>>>>>    6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b
>>>>>    1.14
>>>>>    7. cd ~/git/cerbero
>>>>>    8. git checkout 1.14
>>>>>    9. yes | ./cerbero-uninstalled bootstrap
>>>>>    10. perl -pi -e 's/[^[:ascii:]]//g'
>>>>>    packages/gstreamer-1.0/license.txt
>>>>>    11. ./cerbero-uninstalled package gstreamer-1.0
>>>>>
>>>>>
>>>>>
>>>>> I hope this makes it easy to reproduce as that’s my intention in using
>>>>> docker.
>>>>>
>>>>>
>>>>>
>>>>> *From:* gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org>
>>>>> *On Behalf Of *Nicolas Dufresne
>>>>> *Sent:* Monday, 7 May 2018 3:58 PM
>>>>> *To:* Discussion of the development of and with GStreamer <
>>>>> gstreamer-devel at lists.freedesktop.org>
>>>>> *Subject:* Re: No specific packager available for the distro version
>>>>> ubuntu_16_04_xenial
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Le lun. 7 mai 2018 01:27, Matthew Thyer <matthew.thyer at adelaide.edu.au>
>>>>> a écrit :
>>>>>
>>>>> I’ve found that stripping non-ascii characters from the file
>>>>> "packages/gstreamer-1.0/license.txt" allows packaging using the default
>>>>> packager to complete. However, the packages produced are not correct as
>>>>> reported by David Ing for cerbero v1.12.4 in his message: “Cerbero
>>>>> 1.12.4 Problem with paths inside *.deb files
>>>>> <https://lists.freedesktop.org/archives/gstreamer-devel/2018-April/067562.html>”.
>>>>> The error is that the paths for the files to be installed are the paths
>>>>> where the source was built rather than the default installation prefix of
>>>>> /usr/local as is expected.
>>>>>
>>>>>
>>>>>
>>>>> It's not clear what is considered broken here, did you run gst-shell ?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *From:* gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org>
>>>>> *On Behalf Of *Matthew Thyer
>>>>> *Sent:* Friday, 4 May 2018 3:22 PM
>>>>> *To:* Discussion of the development of and with GStreamer <
>>>>> gstreamer-devel at lists.freedesktop.org>
>>>>> *Subject:* RE: No specific packager available for the distro version
>>>>> ubuntu_16_04_xenial
>>>>>
>>>>>
>>>>>
>>>>> Bug 795792 logged
>>>>>
>>>>>
>>>>>
>>>>> *From:* gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org>
>>>>> *On Behalf Of *Nicolas Dufresne
>>>>> *Sent:* Thursday, 26 April 2018 11:02 PM
>>>>> *To:* Discussion of the development of and with GStreamer <
>>>>> gstreamer-devel at lists.freedesktop.org>
>>>>> *Subject:* Re: No specific packager available for the distro version
>>>>> ubuntu_16_04_xenial
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Le mar. 24 avr. 2018 04:27, Matthew Thyer <
>>>>> matthew.thyer at adelaide.edu.au> a écrit :
>>>>>
>>>>> Greetings gstreamer-devel list,
>>>>>
>>>>>
>>>>>
>>>>> I’m wishing to build and package GStreamer v1.14 (or later) for the
>>>>> ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU
>>>>> Triplet: arm-linux-gnueabihf.
>>>>>
>>>>> As you may have seen from my last two emails (“Failure to cross
>>>>> compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross
>>>>> compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not
>>>>> currently able to cross compile for this outcome so I have instead setup
>>>>> docker on my Raspberry Pi 3 and run a native build. This completes normally
>>>>> but then fails to package the results of the build.
>>>>>
>>>>> It looks like cerbero tries to fall back to some kind of default
>>>>> packager but then crashes and I get a python traceback.
>>>>>
>>>>>
>>>>>
>>>>> The error messages from the failure are:
>>>>>
>>>>> WARNING: No specific packager available for the distro version
>>>>> ubuntu_16_04_xenial, using generic packager for distro debian
>>>>>
>>>>> WARNING: No packager defined, using default packager "Default <
>>>>> default at change.me>"
>>>>>
>>>>> Traceback (most recent call last):
>>>>>
>>>>>  File "./cerbero-uninstalled", line 9, in <module>
>>>>>
>>>>>    main()
>>>>>
>>>>>  File "./cerbero/main.py", line 130, in main
>>>>>
>>>>>    Main(sys.argv[1:])
>>>>>
>>>>>  File "./cerbero/main.py", line 55, in __init__
>>>>>
>>>>>    self.run_command()
>>>>>
>>>>>  File "./cerbero/main.py", line 105, in run_command
>>>>>
>>>>>    res = commands.run(command, self.config, self.args)
>>>>>
>>>>>  File "./cerbero/commands/__init__.py", line 78, in run
>>>>>
>>>>>    return _commands[command].run(config, args)
>>>>>
>>>>>  File "./cerbero/commands/package.py", line 82, in run
>>>>>
>>>>>    pkg = Packager(config, p, self.store)
>>>>>
>>>>>  File "./cerbero/packages/packager.py", line 53, in __new__
>>>>>
>>>>>    return _packagers[d][v](config, package, store)
>>>>>
>>>>>  File "./cerbero/packages/debian.py", line 448, in __new__
>>>>>
>>>>>    return DebianPackager(config, package, store)
>>>>>
>>>>>  File "./cerbero/packages/debian.py", line 187, in __init__
>>>>>
>>>>>    self.license = f.read()
>>>>>
>>>>>  File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode
>>>>>
>>>>>    return codecs.ascii_decode(input, self.errors)[0]
>>>>>
>>>>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position
>>>>> 0: ordinal not in range(128)
>>>>>
>>>>>
>>>>>
>>>>> I’ve confirmed that I get the same error when running a native build
>>>>> in a docker container on an x86_64 VM so this problem is not specific to
>>>>> the ARM architecture.
>>>>>
>>>>> Does anyone have a solution for this issue?
>>>>>
>>>>> This crash is unrelated to the harmless warnings. It's reading from
>>>>> file expecting ASCII and hit some utf8 char, and crash. Can you file a bug
>>>>> to bugs.gnome.org with that backtrace attached.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>>
>>>>>
>>>>> ---
>>>>>
>>>>> Matthew Thyer
>>>>>
>>>>> (08) 8313 9283
>>>>>
>>>>> 4.38 Ingkarni Wardli
>>>>>
>>>>> Adelaide University
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> gstreamer-devel mailing list
>>>>> gstreamer-devel at lists.freedesktop.org
>>>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>
>>>>> _______________________________________________
>>>>> gstreamer-devel mailing list
>>>>> gstreamer-devel at lists.freedesktop.org
>>>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>
>>>>> _______________________________________________
>>>>> gstreamer-devel mailing list
>>>>> gstreamer-devel at lists.freedesktop.org
>>>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180508/170d1581/attachment-0001.html>


More information about the gstreamer-devel mailing list