You are not logged in.
Pages: 1
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
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.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
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
...and I want to become a Maintainer if it's possible.
Not something to be taken lightly...
https://wiki.archlinux.org/title/Trusted_Users
Offline
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...
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
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
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
If you use Arch_Linux_Archive#How_to_restore_all_packages_to_a_specific_date then all the package versions will match.
Offline
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
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
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
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
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
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
Pages: 1