-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Describe the building procedure #97
base: master
Are you sure you want to change the base?
Conversation
@@ -0,0 +1,125 @@ | |||
# From zero to deb packages |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you move this file to debian/README.ubuntu-docker
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure. I am concerned that not having any standard GitHub documentation means that the probability of people asking how to build will stay high. The truth is, few folks know about all those Debian packaging conventions, they are like Bazaar: everybody neither knows how to use it nor wants to use it hehe.
How about writing a top level README.md
that references debian/README.ubuntu-docker
?
|
||
## Building | ||
|
||
We have to patch `/usr/share/xcb/dri3.xml`. Either the XML spec or `xcbgen` is broken, so it generates invalid C++ bindings. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't done for the regular Ubuntu build. Why is it needed here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a solid evidence that this is needed: the described build is fully reproducible and happens in a standard docker container, and this error bubbles up. Everything else is about different environments.
The only way to prove this is wrong is to follow all the steps and show that there is no xcbgen error.
Just FYI this is what I'm using in my CI (it's a bit shorter than what's proposed here, also based on a clean 20.04 container): apt-get update && apt-get install --no-install-recommends -yy make wget xz-utils devscripts equivs quilt
cp debian/changelog.focal debian/changelog
cp debian/control.standard.focal debian/control
export ORIG_VERSION=$(head -1 debian/changelog.focal | grep -oE '([0-9]+\.){3}[0-9]+')
debian/rules get-packaged-orig-source
tar -xf chromium-browser_$ORIG_VERSION.orig.tar.xz --strip-components=1
QUILT_PATCHES=debian/patches quilt push -a
mk-build-deps -t 'apt-get --no-install-recommends -yy' --install debian/control
sed -i '0,/<list type="fd" name="buffers">/s//<list type="fd" name="buf">/' /usr/share/xcb/dri3.xml
debuild -b -uc -us |
As promised in #91 (comment)