sgrogan wrote:Time is a precious thing
Tell me about it.
sgrogan wrote:When using bzr I find myself translating in my head, I'm sure your experiencing the opposite.
You can say that! To me bzr is simpler and straightforward.
sgrogan wrote:If you want, I can incorporate the changes and push a branch.
No need, I managed to do it on my own. Last night, I just didn't know for sure how to push branches to Launchpad. I will need to learn how to create remotes, because pushing to LP with long git urls is becoming tedious...
Everything is here:
https://code.launchpad.net/~freecad-mai ... tpackaging
Here's the rationale behind all those branches:
- dailybuild is the branch containing specific files modified to create freecad-daily, freecad-daily-doc and freecad-daily-dev packages. This aims to comply with item #13 in the todo list. Not functional: see below
- master should contain the latest and up-to-date debian folder and files to build freecad debian packages from source or releases branch. The idea is to "branch it out" to the release branch when a new FreeCAD release is ready; also, the aim is to make it so we can eventually make a pull request upstream to update the /package/debian folder on Github. So, no "freecad-daily" packages here.
- release is the branch for building from the releases/FreeCAD-0-16 branch. It should be compatible with Ubuntu 14.04, 15.10 and 16.04. When a new releases/FreeCAD-0-17 branch is created, then we simply update the files in the release branch. I believe this could be done with a git rebase from master?
- release-precise has the same purpose as above, but only for Ubuntu 12.04. To use the release branch, I would have needed to edit the debian/control file to support libboost libraries lower than 1.54. I'm sure it could have been done, but I was too lazy to look into it. Also it will be used only for 0.16 since it's been decided to drop precise for 0.17.
I just attempted to build a
freecad-daily debian package from master along with gitpackaging/dailybuild.
It almost completed!
But it failed at the very end with this error:
Code: Select all
dh_install -O--buildsystem=cmake -O--parallel
dh_installdocs -O--buildsystem=cmake -O--parallel
debian/rules override_dh_installchangelogs
make[1]: Entering directory `/tmp/buildd/freecad-daily-0.17~alpha1'
dh_installchangelogs ChangeLog.txt
make[1]: Leaving directory `/tmp/buildd/freecad-daily-0.17~alpha1'
dh_installman -O--buildsystem=cmake -O--parallel
dh_python2 -O--buildsystem=cmake -O--parallel
dh_installmenu -O--buildsystem=cmake -O--parallel
debian/rules override_dh_installmime
make[1]: Entering directory `/tmp/buildd/freecad-daily-0.17~alpha1'
dh_installmime
dh_install debian/mime/freecad-thumbnailer usr/bin
dh_install debian/mime/freecad.thumbnailer usr/share/thumbnailers
dh_install debian/mime/freecad.schemas etc/gconf/schemas
make[1]: Leaving directory `/tmp/buildd/freecad-daily-0.17~alpha1'
dh_lintian -O--buildsystem=cmake -O--parallel
dh_gconf -O--buildsystem=cmake -O--parallel
debian/rules override_dh_icons
make[1]: Entering directory `/tmp/buildd/freecad-daily-0.17~alpha1'
install -m 644 debian/freecad/usr/share/freecad/freecad-icon-16.png debian/freecad/usr/share/icons/hicolor/16x16/apps/freecad.png
install: cannot stat 'debian/freecad/usr/share/freecad/freecad-icon-16.png': No such file or directory
make[1]: *** [override_dh_icons] Error 1
make[1]: Leaving directory `/tmp/buildd/freecad-daily-0.17~alpha1'
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
E: Failed autobuilding of package
I: unmounting dev/pts filesystem
I: unmounting run/shm filesystem
I: unmounting proc filesystem
I: cleaning the build env
I: removing directory /var/cache/pbuilder/build//25975 and its subdirectories
I neglected to rename the paths for application icons. Will have to look into it another day.
sgrogan wrote:1) doing something for boost for precise in the control file
What would that be? The 0.16.6700 packages were built with the default libboost*-dev packages and it seemed to work. See the control file in the release-precise branch.
sgrogan wrote:I don't know:
1) What, if anything, needs to be done for xenial. I've been trying to follow, but it's still over my head.
Mateusz provided a script to add in the debian/rules file here:
viewtopic.php?f=4&t=15222&start=50#p122808
What it does is first to detect if the target system for the package is xenial; for that it uses a terminal command from the lsb-release package (added to debian/control Build-Depends). I mentioned this command in this post, try it for yourself:
viewtopic.php?f=4&t=15222&start=50#p122803
Then it determines the system architecture (amd64 or i386), searches for the invalid /usr/lib/libfreeimage.so link during the build and replaces it with the proper link. So it works around the bug in the liboce-visualization-dev xenial package, without actually needing to rebuild the package.
I've added it to all branches in gitpackaging except for release-precise. It needs to be tested.