You are not logged in.

#1 2022-01-21 15:36:41

morphin
Member
Registered: 2017-11-15
Posts: 20

Help for CEPH PKGBUILD

Hello.

I'm newbie with PKGBUILD. I want to create ceph 14.2.22 packages with my old Glibc. I can build but I don't know how to create packages. It seems like the best way is creating PKGBUILD.

I've found this PKGBUILD: https://github.com/archlinux/svntogit-c … k/PKGBUILD

I think I can build packages with this PKGBUILD but I didnt understand these parts.. Can you please explain to me why so many different ceph dependency versions? Is it normal? What they should be for 14.2.22 ?

source=(
  "https://download.ceph.com/tarballs/${pk … er}.tar.gz"
  'ceph.sysusers'
  "zstd-${_zstdver}.tar.gz::https://github.com/facebook/zstd/archive/v${_zstdver}.tar.gz"
  #'glibc2.32-strsignal-compat-backported.patch'
  'ceph-14.2.0-cflags.patch'
  'ceph-12.2.4-boost-build-none-options.patch'
  'ceph-13.2.0-cflags.patch'
  'ceph-13.2.2-dont-install-sysvinit-script.patch'
  # 'ceph-14.2.0-link-crc32-statically.patch'
  'ceph-14.2.0-cython-0.29.patch'
  'ceph-15.2.0-rocksdb-cmake.patch'
  'ceph-15.2.4-system-uring.patch'
  # 'ceph-15.2.5-missing-includes.patch'
  'disable-empty-readable.sh-test.patch'
  'qa-src-update-mypy-to-0.782.patch'
  'fix-mgr-dashboard-partial_dict.patch'

  # snappy 1.1.9 removed major parts from their namespace, including the
  # snappy::uint32 which was an alias for std::uint32_t
  'fix_snappy_namespace_uint.patch'

  # Add python >= 3.8 workaround logic for incompatible modules
  # This has been designated for upstream backporting into the octupus (15) and pacific (16) branches.
  # TODO: check if merged and included in next releases
  # https://tracker.ceph.com/issues/45147
  # https://github.com/ceph/ceph/pull/34846
  # 'backport_mgr_disabled_modules_workaround_PR34846.patch'
)
sha512sums=('

Offline

#2 2022-01-23 16:50:22

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: Help for CEPH PKGBUILD

The version in the patch name probably indicates the first upstream version that needed that patch.

The last commit archlinux ceph package had before 15 is b75990d27925b7dfc89ef6b226fdf3629acb7081 from nov 10 2020 .
It build 14.2.8 so is probably a good starting point for 14.2.22 .

The files used for that version are at https://github.com/archlinux/svntogit-c … 7081/trunk


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2022-01-24 23:26:57

morphin
Member
Registered: 2017-11-15
Posts: 20

Re: Help for CEPH PKGBUILD

Lone_Wolf wrote:

The version in the patch name probably indicates the first upstream version that needed that patch.

The last commit archlinux ceph package had before 15 is b75990d27925b7dfc89ef6b226fdf3629acb7081 from nov 10 2020 .
It build 14.2.8 so is probably a good starting point for 14.2.22 .

The files used for that version are at https://github.com/archlinux/svntogit-c … 7081/trunk


Thanks! It's great idea for starting point.

Ceph builds in archlinux always follows from behind and there is no official maintanier.
Also in ceph project there is no Archlinux (Pacman) support for dependencies and build.

First of all I want to learn more about preparing PKGBUILD and I want to become a Maintainer if it's possible.
Can I get some information about that?

Offline

#4 2022-01-25 00:12:13

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: Help for CEPH PKGBUILD

morphin wrote:

...and I want to become a Maintainer if it's possible.

Not something to be taken lightly...
https://wiki.archlinux.org/title/Trusted_Users


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#5 2022-01-25 01:08:04

morphin
Member
Registered: 2017-11-15
Posts: 20

Re: Help for CEPH PKGBUILD

Slithery wrote:
morphin wrote:

...and I want to become a Maintainer if it's possible.

Not something to be taken lightly...
https://wiki.archlinux.org/title/Trusted_Users

Indeed... smile

Asking for a build will be easy and smart choice for me but these packages already marked as "Flagged out-of-date on 2021-09-02". 4 months and still no activity on ceph packages. Also there is always dependency issues like glibc and kernel. Because of that I should learn creating my own offline packages.


I've installed all of the dependencies but build stuck at glibc version. If I upgrade glibc then I must upgrade and reboot all of the nodes.
Ceph needs online upgrade and have upgrade sequence (mon's --> mgr's --> mds's --> osd's)  and becasue of that I don't want to upgdare glibc.


Scanning dependencies of target ceph-mon
[ 19%] Building CXX object src/CMakeFiles/ceph-mon.dir/ceph_mon.cc.o
[ 19%] Linking CXX executable ../bin/ceph-mon
/usr/bin/ld: warning: /lib/libleveldb.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/usr/bin/ld: warning: /lib/libleveldb.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
/usr/bin/ld: /lib/libleveldb.so: undefined reference to `stat@GLIBC_2.33'
collect2: error: ld returned 1 exit status
make[2]: * [src/CMakeFiles/ceph-mon.dir/build.make:128: bin/ceph-mon] Error 1
make[1]: * [CMakeFiles/Makefile2:681: src/CMakeFiles/ceph-mon.dir/all] Error 2
make: * [Makefile:141: all] Error 2


I'm looking a solution with building  glibc 2.28-4.

Last edited by morphin (2022-01-25 01:14:55)

Offline

#6 2022-01-25 02:09:12

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,463

Re: Help for CEPH PKGBUILD

You have a partially updated system, failures like that are EXPECTED. This is why partial updates are not supported. Holding back things like glibc is just asking for a non-functional system.

Offline

#7 2022-01-25 03:56:43

morphin
Member
Registered: 2017-11-15
Posts: 20

Re: Help for CEPH PKGBUILD

Scimmia wrote:

You have a partially updated system, failures like that are EXPECTED. This is why partial updates are not supported. Holding back things like glibc is just asking for a non-functional system.


Thanks for the answer.

I always use the OS as a Firmware. I don't upgrade nodes, I only upgrade my main image and use it plug-and-play like.
I already have 14.2.16 in the OS and its running without any problem on the kernel and OS side. I only upgrade the OS when it's truly needed.
I'm working on creating new updated image but it need to be tested for a long time. Also I use octopus 15.2.x because nautilus EOF now.

In the mean time I prefer creating packages for bugfix . 14.2.16 have some problems and I have to switch 14.2.22. That's why I'm trying to build with old Glibc.
With the correct version of dependencies I was able to build. The probem is I lost the builder VM that I build ceph all the time.
I tried to collect all of the dependencies from arch archive for the current image. Normally I should be able to build with this glibc. Maybe I use wrong dependencies I don't know yet.

This is going to be my last build with this glibc. If I can.

Offline

#8 2022-01-25 04:02:33

loqs
Member
Registered: 2014-03-06
Posts: 17,195

Re: Help for CEPH PKGBUILD

If you use Arch_Linux_Archive#How_to_restore_all_packages_to_a_specific_date then all the package versions will match.

Offline

#9 2022-01-25 04:06:19

morphin
Member
Registered: 2017-11-15
Posts: 20

Re: Help for CEPH PKGBUILD

loqs wrote:

If you use Arch_Linux_Archive#How_to_restore_all_packages_to_a_specific_date then all the package versions will match.


Hello loqs. It's nice to see you.
Yes I used but instead of typing  specific date in the conf I downloaded every dependency one by one and installed with pacman -U.
For some dependencies I have to switch months but not much, I kept between 3-4 month.
Maybe I failed because of that.

Last edited by morphin (2022-01-25 04:13:23)

Offline

#10 2022-01-25 04:11:26

loqs
Member
Registered: 2014-03-06
Posts: 17,195

Re: Help for CEPH PKGBUILD

If you need a newer version of a package,  build the newer version using the toolchain and dependencies from the pinned date.  Then rebuild anything depending on the updated package.  That should keep all the dependencies synchronized.

Offline

#11 2022-01-25 04:18:09

morphin
Member
Registered: 2017-11-15
Posts: 20

Re: Help for CEPH PKGBUILD

loqs wrote:

If you need a newer version of a package,  build the newer version using the toolchain and dependencies from the pinned date.  Then rebuild anything depending on the updated package.  That should keep all the dependencies synchronized.

You're right. I will try that but I feel like this build image has only a small problem.
You have a lot of experience with ceph build. If I give you every dependency version are you able to identify my problem?

BTW: Do you have dep list or something like dependency.sh for 14.2.x?
If you have can you share please?

Last edited by morphin (2022-01-25 04:27:21)

Offline

#12 2022-01-25 04:31:47

loqs
Member
Registered: 2014-03-06
Posts: 17,195

Re: Help for CEPH PKGBUILD

morphin wrote:

You're the official ceph builder and you have a lot of experience with ceph build.

That would be Thore Bödecker,  the last build was done by Felix Yan for boost 1.78.0

morphin wrote:

BTW: Do you have dep list or something like dependency.sh for 14.2.x?
If you have then I will give a try with pinned date.

That is recorded in .BUILDINFO in the built package,  so you can extract it from one of the 14.2 releases in the ALA.

Offline

#13 2022-01-25 04:44:49

morphin
Member
Registered: 2017-11-15
Posts: 20

Re: Help for CEPH PKGBUILD

loqs wrote:

That is recorded in .BUILDINFO in the built package,  so you can extract it from one of the 14.2 releases in the ALA.

All this time it was front of me but I wasn't aware.
I opened the 14.2.16 package that I build earlier and found all the packages versions that I use. I'm going to check one by one.
Thank you so much.

Last edited by morphin (2022-01-25 04:46:29)

Offline

Board footer

Powered by FluxBB