Page MenuHomeSolus

UDUNITS package
Closed, ResolvedPublic

Assigned To
Authored By
DonHugo
Dec 14 2016, 8:28 AM
Referenced Files
F8891: 0001-Initial-commit-of-UDUNITS2.patch
Dec 22 2016, 7:06 AM
F8709: 0001-Initial-commit-of-UDUNITS2.patch
Dec 21 2016, 10:17 PM
F8589: package.yml
Dec 18 2016, 4:44 PM
F8547: udunits-2.2.20-1-1-x86_64.eopkg
Dec 17 2016, 4:12 PM
F8548: udunits-devel-2.2.20-1-1-x86_64.eopkg
Dec 17 2016, 4:12 PM
F8546: package.yml
Dec 17 2016, 4:12 PM

Description

The UDUNITS package is required by several packages in R (maybe also in other languages) for unit conversions.

http://www.unidata.ucar.edu/software/udunits/

Would be nice if you would provide the package in your repos as you already provide IDEs like RStudio.

Source: ftp://ftp.unidata.ucar.edu/pub/udunits/udunits-2.2.20.tar.gz

Event Timeline

DataDrake triaged this task as Normal priority.Dec 15 2016, 3:17 PM
DataDrake updated the task description. (Show Details)
DataDrake moved this task from Backlog to Accepted For Inclusion on the Package Requests board.

Okay, this is my first try to build a package, maybe I am not the only one using it. I used solbuild, following your wiki and tried to build it. I attached the package.yml file, it seems to work by using the command

ypkg package.yml

However, not sure if I made some newbie mistakes, etc. Furthermore, I tried to orient myself at the AUR package https://aur.archlinux.org/packages/udunits/ The PKGBUILD format seems very similar, however I am not sure if the additional lines in the AUR package are necessary/required

ln -s libudunits2.so "$pkgdir/usr/lib/libudunits.so"
ln -s libudunits2.so.0 "$pkgdir/usr/lib/libudunits.so.0"
ln -s libudunits2.so.0.1.0 "$pkgdir/usr/lib/libudunits.so.0.1.0"
install -Dm0644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

This creates symlinks and copies a license file, however if I try to integrate the first three lines the build aborts with an permission error. What am I missing here?
Files:



There is not $pkgdir, use $installdir

Thanks a lot, that did the trick plus changing "/usr/lib" to "usr/lib64".
The package installs fine and provides the library (tested with RStudio, trying to install the udunits2 package without (fail) and with the package (works)).

  • pkgconfig(expat) is already on system.devel (as expat-devel), you don't need to specify it in the build dependencies.
  • You can replace /usr/lib64 with %libdir%.
  • From where are you linking the libraries? Does them all work?
  • We don't install licenses, last command isn't needed (bonus: $pkgname here is just $package, you can check what values does ypkg export when the package is building 😁).
  • Finally, you need to provide the package files in the Git patch format, in the folder where the files are do:
git init
git add Makefile package.yml pspec_x86_64.xml abi_*
git commit -m "Initial commit"
git format-patch -1

Thanks again for your help!
I included your suggestions and removed the dependency and the licence.
The links are created within the lib64 directory and appear in the package and after install.
However, I am currently just trying to re-create packages I would need for Solus to be my main OS. But I don't know much about packaging so I try to adapt the PKGBUILDs from Arch. I guess the links are there for compatibility reasons, but I don't know if they are truly necessary.
If that is fine for you, I will try to set up Git and provide the files.

Okay, I hope I did everything in order. Here is the requested file:

You forgot to add a component:

+component  : PLEASE FILL ME IN

Run eopkg lc in a Terminal and choose the best one (probably programming.tools will fit) ;)

My bad, forgot to include that. File is updated.

DataDrake claimed this task.
DataDrake added a subscriber: DataDrake.

@DonHugo watch out for trailing whitespace. You had an extra tab on the empty line in the install section.

You should also be using common and solbuild when packaging:

More importantly, you should be creating separate tasks when submitting patches. I'll let it slide this time, but don't expect me to in the future ;)

Landed in unstable:

https://git.solus-project.com/packages/udunits/commit/?id=ad070af3992758d43938368eb1d1143fdf5b1eac

@DataDrake
Thanks for your corrections. I followed the wiki but received "Profile is not installed: Did you forget to init?". Thats why I chose ypkg for building. Using init -p unstable-x86_64 as shown in the video works.

Just for clarification: Which patches do you exactly mean? I proposed this one, plus the ones for Back in Time and Cronie (which were separate). The files I posted in the Brother printer thread were intended for discussion, as the printer does still not work and the scanner files are just first trials. I was hoping that someone else could use them.

If your intent was to package this from the start, I would have rather seen just a Patch Submission task. You shouldn't be submitting patches in a Package Request labelled task.