Changeset View
Standalone View
net/ceph-devel/Makefile
- This file was added.
Property | Old Value | New Value |
---|---|---|
svn:eol-style | null | native \ No newline at end of property |
svn:keywords | null | FreeBSD=%H \ No newline at end of property |
svn:mime-type | null | text/plain \ No newline at end of property |
# Created by: Willem Jan Withagen <wjw@digiware.nl> | |||||
# $FreeBSD$ | |||||
PORTNAME= ceph | |||||
# PORTVERSION= 11.0.2 | |||||
asomers: Please remove all commented code. | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsIt is there as a reminder to help me to know what is all availble and possible. wjw_digiware.nl: It is there as a reminder to help me to know what is all availble and possible.
Going to leave… | |||||
# DISTVERSIONPREFIX | |||||
DISTVERSION= wip.FreeBSD.v1 | |||||
matUnsubmitted Done Inline ActionsThis will end up being a very strange package version in the end, you should do something more like: DISTVERSIONPREFIX= wip.FreeBSD.v DISTVERSION= 1 mat: This will end up being a very strange package version in the end, you should do something more… | |||||
# DISTVERSIONSUFFIX | |||||
# PORTREVISION | |||||
Done Inline ActionsThis does *not* make any sense. This will end up having a package with a version of w.f.v, which is nonsense. A more correct way would be : DISTVERSIONPREFIX= wip.FreeBSD.v DISTVERSION=1 mat: This does *not* make any sense.
This will end up having a package with a version of `w.f.v`… | |||||
Done Inline ActionsHi Mat, If I do that then the code fetching my branch starts for a wrong file: => wjwithagen-ceph-wip.FreeBSD.v doesn't seem to exist in /usr/ports/distfiles/. => Attempting to fetch https://codeload.github.com/wjwithagen/ceph/tar.gz/wip.FreeBSD.v1?dummy=/wjwithagen-ceph-wip.FreeBSD.v fetch: https://codeload.github.com/wjwithagen/ceph/tar.gz/wip.FreeBSD.v1?dummy=/wjwithagen-ceph-wip.FreeBSD.v: size of remote file is not known wjwithagen-ceph-wip.FreeBSD.v 9251 kB 2931 kBps 00m03s And make really barfs at me: make: Unclosed substitution for DISTVERSION (- missing) make: Unknown modifier 'w' make: Unknown modifier 'c' make: Unclosed variable specification (expecting '}') for "DISTVERSION" (value "") modifier c Doing it my way at least gets me the source from GitHub. wjw_digiware.nl: Hi Mat,
If I do that then the code fetching my branch starts for a wrong file:
```
=>… | |||||
Done Inline ActionsSollution here is to define DISTVERSION= and leave it empty wjw_digiware.nl: Sollution here is to define
```
DISTVERSION=
```
and leave it empty | |||||
Done Inline ActionsYour "problem" goes away if you set: DISTVERSION= git.2017-02-14 And then use a commit hash, or a tag in with the github framework. wip.FreeBSD.v1 is not a version, it is your work branch. git.2017-02-14 is a version. mat: Your "problem" goes away if you set:
DISTVERSION= git.2017-02-14
And then use a commit hash… | |||||
Done Inline ActionsHi Matt, Will try the tag stuff in GitHub. And yes I do plan to sort "release" my WIP versions. wjw_digiware.nl: Hi Matt,
Will try the tag stuff in GitHub. And yes I do plan to sort "release" my WIP versions. | |||||
Done Inline ActionsCool, that works. wjw_digiware.nl: Cool, that works.
And it is not much different from creating a branch, and the GitHub interface… | |||||
Done Inline Actions
What FreeBSD version are you using ? mat: > ```
> make: Unclosed substitution for DISTVERSION (- missing)
> make: Unknown modifier 'w'
>… | |||||
Done Inline ActionsMatt, I'm testing on several versions, but everything 11.0-RELASE or up: The errors are from: wjw_digiware.nl: Matt,
I'm testing on several versions, but everything 11.0-RELASE or up:
FreeBSD cephtest 11.0… | |||||
# PORTEPOCH | |||||
CATEGORIES= net | |||||
# MASTER_SITES | |||||
# MASTER_SITE_SUBDIR | |||||
# PROJECTHOST | |||||
# PKGNAMEPREFIX | |||||
PKGNAMESUFFIX= -devel | |||||
Done Inline ActionsYou can delete the FETCH_DEPENDS for git. It looks like USE_GITHUB is downloading zipfiles, not cloning repos. asomers: You can delete the FETCH_DEPENDS for git. It looks like USE_GITHUB is downloading zipfiles… | |||||
# DISTNAME | |||||
# EXTRACT_SUFX | |||||
# DISTFILES | |||||
# DIST_SUBDIR | |||||
# EXTRACT_ONLY. | |||||
MAINTAINER= wjw@digiware.nl | |||||
COMMENT=Ceph delivers object, block, and file storage in a unified system | |||||
LICENSE= GPLv2 LGPL3 | |||||
LICENSE_COMB= dual | |||||
GITBRANCH=${DISTVERSION} | |||||
matUnsubmitted Done Inline ActionsThis is not needed. mat: This is not needed. | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsI'm using it in the version string for what to fetch from github. wjw_digiware.nl: I'm using it in the version string for what to fetch from github.
Perhaps with your suggestions… | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsThis is a hairy one.... I'd like to call the port ceph-devel. What does work is setting: DISTVERSION= wip.FreeBSD.v DISTVERSIONSUFFIX=1 wjw_digiware.nl: This is a hairy one....
And I do not seem to be able to get this working without wierd things… | |||||
Done Inline ActionsThis is not used any more, once you remove the useless line it is used it. Please remove it. mat: This is not used any more, once you remove the useless line it is used it. Please remove it. | |||||
# even though i386 will build, it is nor really advised. | |||||
ONLY_FOR_ARCHS= amd64 | |||||
USES= gmake | |||||
USES+= cmake:outsource | |||||
USES+= python:2.7 | |||||
USES+= gettext-runtime | |||||
Done Inline ActionsYou have devel/nspr listed more than once, remove all but one. mat: You have devel/nspr listed more than once, remove all but one. | |||||
USES+= shebangfix | |||||
SHEBANG_FILES= src/rbdmap src/ceph-post-file.in src/rbd-replay-many | |||||
USE_RC_SUBR=ceph | |||||
BUILD_WRKSRC= ${WRKSRC}/build | |||||
BUILD_DEPENDS= \ | |||||
Done Inline ActionsYou have devel/boost-libs listed more than once, please remove all but one. mat: You have devel/boost-libs listed more than once, please remove all but one. | |||||
git:devel/git \ | |||||
asomersUnsubmitted Done Inline ActionsAre you sure that git is a build depend? BUILD_DEPENDS are only for stuff that's needed during the build phase, not the fetch phase. asomers: Are you sure that git is a build depend? BUILD_DEPENDS are only for stuff that's needed during… | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsYou could be right, probably a leftover from when I want the build process to fetch and update the git submodules. wjw_digiware.nl: You could be right, probably a leftover from when I want the build process to fetch and update… | |||||
Done Inline ActionsYou already have USES=python:2.7, so it is not needed. mat: You already have USES=python:2.7, so it is not needed. | |||||
yasm:devel/yasm \ | |||||
pkgconf:devel/pkgconf \ | |||||
cython:lang/cython \ | |||||
sphinx-build:textproc/py-sphinx \ | |||||
Done Inline Actions'mmmm, that does not seem to work: [/usr/ports/net/ceph-devel] wjw@freetest.digiware.nl> pkg info | grep cython cython-0.25.2 Compiler for Writing C Extensions for the Python Language But still make wants to build it. ===> ceph-devel-w.f.v depends on package: cython=>0.25.2 - not found ===> License APACHE20 accepted by the user ===> cython-0.25.2 depends on file: /usr/local/sbin/pkg - found => Cython-0.25.2.tar.gz doesn't seem to exist in /usr/ports/distfiles/. => Attempting to fetch http://www.cython.org/release/Cython-0.25.2.tar.gz fetch: http://www.cython.org/release/Cython-0.25.2.tar.gz: Not Found wjw_digiware.nl: 'mmmm, that does not seem to work:
Cython is available in the right version:
```… | |||||
Done Inline ActionsIt is >= and => wjw_digiware.nl: It is `>=` and `=>`
| |||||
${PREFIX}/lib/libatomic_ops.a:devel/libatomic_ops \ | |||||
RUN_DEPENDS= \ | |||||
bash:shells/bash \ | |||||
${PREFIX}/bin/getopt:misc/getopt \ | |||||
asomersUnsubmitted Done Inline ActionsPREFIX is the location where this port will be installed. LOCALBASE is the location other ports are installed. So this dependency would correctly be written as ${LOCALBASE}/bin/getopt:misc/getopt. Or, instead of depending on a binary, you can depend on a port by adding a version specifier, like getopt>=0:misc/getopt. asomers: `PREFIX` is the location where this port will be installed. `LOCALBASE` is the location other… | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsAh, oke. wjw_digiware.nl: Ah, oke.
Not prefixing the path here will have the dependancy builder argue that… | |||||
xml:textproc/xmlstarlet \ | |||||
jq:textproc/jq \ | |||||
flock:sysutils/flock \ | |||||
virtualenv:devel/py-virtualenv \ | |||||
LIB_DEPENDS= \ | |||||
libboost_system.so:devel/boost-all \ | |||||
libboost_python.so:devel/boost-python-libs \ | |||||
libleveldb.so:databases/leveldb \ | |||||
libldap.so:net/openldap24-client \ | |||||
libnss3.so:security/nss \ | |||||
libcryptopp.so:security/cryptopp \ | |||||
libsnappy.so:archivers/snappy \ | |||||
libcurl.so:ftp/curl \ | |||||
libxml2.so:textproc/libxml2 \ | |||||
libexpat.so:textproc/expat2 \ | |||||
liblz4.so:archivers/liblz4 \ | |||||
libfcgi.so:www/fcgi \ | |||||
libplds4.so:devel/nspr \ | |||||
libplc4.so:devel/nspr \ | |||||
Done Inline ActionsThis does nothing. mat: This does nothing. | |||||
libnspr4.so:devel/nspr \ | |||||
libboost_thread.so:devel/boost-libs \ | |||||
libboost_system.so:devel/boost-libs \ | |||||
libboost_regex.so:devel/boost-libs \ | |||||
Done Inline ActionsYou should remove the USERS and GROUPS comments asomers: You should remove the USERS and GROUPS comments | |||||
Done Inline ActionsSo how would I get a user and group named ceph set? wjw_digiware.nl: So how would I get a user and group named ceph set?
prefably to a fixed UID/GID | |||||
Done Inline ActionsYou do that with defining USERS and GROUPS, and adding the user(s) and group(s) you need to UIDs and GIDs at the root of the ports tree. But adding commented out lines is a big no. mat: You do that with defining USERS and GROUPS, and adding the user(s) and group(s) you need to… | |||||
libboost_random.so:devel/boost-libs \ | |||||
libboost_program_options.so:devel/boost-libs \ | |||||
Done Inline ActionsThis is not needed, default is ${WRKSRC} mat: This is not needed, default is `${WRKSRC}` | |||||
libboost_date_time.so:devel/boost-libs \ | |||||
libboost_iostreams.so:devel/boost-libs \ | |||||
libpython2.7.so:lang/python27 \ | |||||
OTHER_DEPENDS= \ | |||||
asomersUnsubmitted Done Inline ActionsRemove OTHER_DEPENDS asomers: Remove OTHER_DEPENDS | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsIt is a reminder that I once ran into unresolved lib with this, and I added it to install-deps.sh. wjw_digiware.nl: It is a reminder that I once ran into unresolved lib with this, and I added it to install-deps. | |||||
libedit.so:devel/libedit \ | |||||
Not Done Inline ActionsYou should probably delete the trailing \ here asomers: You should probably delete the trailing \ here | |||||
Done Inline ActionsI know those are supposed to work, but booleans should be defined as, for example, ENABLE_GIT_VERSION:BOOL=YES mat: I know those are supposed to work, but booleans should be defined as, for example… | |||||
# TEST_DEPENDS= \ | |||||
# java/junit \ | |||||
# devel/py-argparse \ | |||||
# devel/py-nose \ | |||||
# www/py-flask \ | |||||
USE_GITHUB= yes | |||||
Done Inline Actions.. is not needed, the framework automatically adds ${CMAKE_SOURCE_PATH} at the end. mat: `..` is not needed, the framework automatically adds `${CMAKE_SOURCE_PATH}` at the end. | |||||
GH_ACCOUNT= wjwithagen:DEFAULT | |||||
# GH_TUPLE allows putting GH_ACCOUNT, GH_PROJECT, GH_TAGNAME, and GH_SUBDIR into a single variable. | |||||
asomersUnsubmitted Done Inline ActionsYou can delete this comment. asomers: You can delete this comment. | |||||
# The format is account:project:tagname:group/subdir. The /subdir part is optional. It is helpful i | |||||
# when there is more than one GitHub project from which to fetch. | |||||
GH_TUPLE= wjwithagen:ceph:${GITBRANCH}:ceph | |||||
matUnsubmitted Done Inline ActionsRemove this line. mat: Remove this line. | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsIt is a reminder for myself on what the grammar for these lines are. wjw_digiware.nl: It is a reminder for myself on what the grammar for these lines are.
And since Ceph is rather… | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsNot quite sure what line Mat is refering to that can go? wjw_digiware.nl: Not quite sure what line Mat is refering to that can go? | |||||
Done Inline ActionsThis line is NOT NEEDED, remove it. mat: This line is NOT NEEDED, remove it. | |||||
Done Inline ActionsAh, wjw_digiware.nl: Ah,
Oke, will try. Last time I did remove this, it did not fetch my source from github.
But… | |||||
GH_TUPLE+= facebook:rocksdb:a0deec9:rocksdb/src/rocksdb | |||||
Done Inline ActionsPlease une a single line for all that. mat: Please une a single line for all that. | |||||
GH_TUPLE+= ceph:ceph-erasure-code-corpus:b5c8634:cepherasurecodecorpus/ceph-erasure-code-corpus | |||||
Not Done Inline ActionsPlease replace ${WRKDIR}/.build with ${CONFIGURE_WRKSRC}, which gets set automatically by USES=cmake asomers: Please replace ${WRKDIR}/.build with ${CONFIGURE_WRKSRC}, which gets set automatically by… | |||||
GH_TUPLE+= ceph:ceph-object-corpus:master:cephobjectcorpus/ceph-object-corpus | |||||
GH_TUPLE+= ceph:civetweb:v1.5-1809-g7f9f5d1:civetweb/src/civetweb | |||||
GH_TUPLE+= ceph:jerasure:v2-ceph:jerasure/src/erasure-code/jerasure/jerasure | |||||
GH_TUPLE+= ceph:gf-complete:v3-ceph:gfcomplete/src/erasure-code/jerasure/gf-complete | |||||
GH_TUPLE+= ceph:googletest:ceph-release-1.7.x:googletest/src/googletest | |||||
GH_TUPLE+= ceph:spdk:v1.2.0-39-g9322c25:spdk/src/spdk | |||||
GH_TUPLE+= ceph:xxHash:v0.5.1-2-g1f40c65:xxHash/src/xxHash | |||||
Done Inline ActionsYou already have USES=gettext-runtime up there, so this is not needed. mat: You already have `USES=gettext-runtime` up there, so this is not needed. | |||||
Done Inline Actionsportlint -A requires it to get ride of a warning wjw_digiware.nl: portlint -A requires it to get ride of a warning | |||||
Done Inline ActionsSure, portlint is crappy, now, please, remove this line. mat: Sure, portlint is crappy, now, please, remove this line. | |||||
GH_TUPLE+= ceph:isa-l:v2.16.0:isal/src/isa-l | |||||
GH_TUPLE+= ceph:lua:lua-5.3-ceph:lua/src/lua | |||||
GH_TUPLE+= ceph:Beast:999e2fa:Beast/src/Beast | |||||
GH_TUPLE+= boostorg:boost:boost-1.61.0-275-g1790aff:boost/src/boost | |||||
GH_TUPLE+= ceph:dpdk:a38e5ec:dpd/src/dpd | |||||
GH_TUPLE+= facebook:zstd:v1.1.2:zstd/src/zstd | |||||
Done Inline ActionsIs this really necessary ? Can't it build in the default .build directory that cmake:outsources uses ? mat: Is this really necessary ? Can't it build in the default .build directory that cmake:outsources… | |||||
Done Inline ActionsYes, since build on that location is intrinsic on how source/cmakefiles and build tree are setup. wjw_digiware.nl: Yes, since build on that location is intrinsic on how source/cmakefiles and build tree are… | |||||
Done Inline ActionsOk, so, you want to build this software differently that everything else using cmake, great. Why not do the symlink the other way around so that it does everything the way the ports tree does it ? mat: Ok, so, you want to build this software differently that everything else using cmake, great. | |||||
Not Done Inline ActionsThat works, but ... wjw_digiware.nl: That works, but ...
Testing no longer works, then again that is not something to do during… | |||||
NO_CHECKSUM=Y | |||||
asomersUnsubmitted Done Inline ActionsRemove NO_CHECKSUM. It should only ever be set from the command line. asomers: Remove NO_CHECKSUM. It should only ever be set from the command line. | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsI was expecting that. Suggestions on an easy way out are welcomed. 8D wjw_digiware.nl: I was expecting that.
But there is a catch-22 here.
The source of this ports-files also goes… | |||||
matUnsubmitted Done Inline ActionsUnless the tag you are using as the version of ceph is being moved, it does not change, ever. If it is a branch, then, DO NOT USE A BRANCH, use a tag, or a commit hash. mat: Unless the tag you are using as the version of ceph is being moved, it does not change, ever. | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsWell ceph-devel is intended as shooting at a running target with the ceph-tree and my work on it. wjw_digiware.nl: Well ceph-devel is intended as shooting at a running target with the ceph-tree and my work on… | |||||
asomersUnsubmitted Done Inline ActionsI recommend that you do what lang/rust-nightly does. It tracks github, but the port always specifies a specific tag. The maintainer must periodically update the tag in SVN. This way, the build is stable. It never gets broken by surprise. For your own development builds, you can always remove the tag and set NO_CHECKSUM on the command line, but don't submit it. asomers: I recommend that you do what `lang/rust-nightly` does. It tracks github, but the port always… | |||||
matUnsubmitted Done Inline ActionsThe ports tree is not a moving target. We must be able to rebuild anything as it was the day it was committed. Like I said, use a commit, or a tag, not a branch. mat: The ports tree is not a moving target. We must be able to rebuild anything as it was the day it… | |||||
# USERS= ceph | |||||
Done Inline ActionsAs many subdirectories are created, this one is not needed. mat: As many subdirectories are created, this one is not needed. | |||||
# GROUPS= ceph | |||||
CMAKE_SOURCE_PATH= .. | |||||
CMAKE_VERBOSE= Y | |||||
CMAKE_BUILD_TYPE= RelWithDebInfo | |||||
Done Inline ActionsWhat happened here? It appears the ports/head/Makefile has been appended to the end of the net/ceph-devel/Makefile by accident? feld: What happened here? It appears the ports/head/Makefile has been appended to the end of the… | |||||
CMAKE_ARGS= \ | |||||
-D ENABLE_GIT_VERSION=OFF \ | |||||
-D WITH_SYSTEM_BOOST=ON \ | |||||
-D WITH_LTTNG=OFF \ | |||||
-D WITH_FUSE=OFF \ | |||||
-D WITH_KRBD=OFF \ | |||||
Done Inline ActionsMaybe this should be a ${MV}, as etc/init.d has no meaning in FreeBSD. mat: Maybe this should be a `${MV}`, as `etc/init.d` has no meaning in FreeBSD. | |||||
-D WITH_XFS=OFF \ | |||||
-D WITH_KVS=OFF \ | |||||
-D WITH_LIBCEPHFS=OFF \ | |||||
-D WITH_CEPHFS=OFF \ | |||||
-D WITH_EMBEDDED=OFF \ | |||||
.. | |||||
pre-configure: | |||||
asomersUnsubmitted Done Inline ActionsUSES=cmake automatically creates ${WRKDIR}/.build so you don't have to. If ${WRKSRC}/build needs to exist too, then it should be a link to .build, not the other way around. asomers: `USES=cmake` automatically creates `${WRKDIR}/.build` so you don't have to. If… | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsThis is how I ended up with the wy the cmake env is used by Ceph. And then it starts to do weird things in referencing from build to src locations. So I don't have a use for .build/, it is only there to please the Mk-infra wjw_digiware.nl: This is how I ended up with the wy the cmake env is used by Ceph.
Ceph expects all of its… | |||||
asomersUnsubmitted Done Inline ActionsIf you must, you can redefine the location of this directory with CONFIGURE_WRKSRC and related variables. See Mk/Uses/cmake.mk. It's better to redefine those variables than do override the pre-configure target. asomers: If you must, you can redefine the location of this directory with `CONFIGURE_WRKSRC` and… | |||||
${MKDIR} ${WRKSRC}/build | |||||
${LN} -s ${WRKSRC}/build ${WRKDIR}/.build | |||||
do-configure: | |||||
asomersUnsubmitted Done Inline ActionsYou can delete the do-configure target. USES=cmake defines it automatically asomers: You can delete the do-configure target. `USES=cmake` defines it automatically | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsBut not with the options that it requires. wjw_digiware.nl: But not with the options that it requires.
Here also the Cmake files are build to a certain… | |||||
( cd ${WRKSRC}/build ;\ | |||||
cmake ${CMAKE_ARGS} .. ;\ | |||||
) | |||||
pre-build: | |||||
asomersUnsubmitted Done Inline ActionsRemove the pre-build target. Instead, specify the version of cython in BUILD_DEPENDS, like cython>=0.25.0:lang/cython asomers: Remove the pre-build target. Instead, specify the version of cython in BUILD_DEPENDS, like… | |||||
${ECHO_CMD} Checking cython version to be atleast 0.25.2 | |||||
pkg info -x 'cython-0.25.[2-9]' | |||||
do-build: | |||||
asomersUnsubmitted Done Inline ActionsDelete the do-build target. It's actually pretty harmful to manually specify -j in a port Makefile. asomers: Delete the do-build target. It's actually pretty harmful to manually specify -j in a port… | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsI would have expected so, but I wasn't getting any parallel make. wjw_digiware.nl: I would have expected so, but I wasn't getting any parallel make.
But I do not remember if that… | |||||
${ECHO_CMD} Building Ceph | |||||
( cd ${WRKSRC}/build; \ | |||||
${GMAKE} -j`${SYSCTL} -n hw.ncpu`; \ | |||||
) | |||||
post-stage: | |||||
asomersUnsubmitted Done Inline ActionsThis should be post-install instead of post-stage. And I don't think you need to create empty directories, as long as they're mentioned in the pkg-plist. asomers: This should be post-install instead of post-stage. And I don't think you need to create empty… | |||||
matUnsubmitted Done Inline ActionsIf there are empty directories that are needed, they must be created at some point, and put in pkg-plist, if the software build system does not create them, and they are needed at run-time, they should be created here. mat: If there are empty directories that are needed, they must be created at some point, and put in… | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsI'll make it post-install, and pkg-plist does need them pre-made. wjw_digiware.nl: I'll make it post-install, and pkg-plist does need them pre-made. | |||||
${MKDIR} ${STAGEDIR}/etc/ceph | |||||
matUnsubmitted Done Inline ActionsThis should be ${STAGEDIR}${PREFIX}/etc/ceph, or even better, ${STAGEDIR}${ETCDIR} mat: This should be `${STAGEDIR}${PREFIX}/etc/ceph`, or even better, `${STAGEDIR}${ETCDIR}` | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsThis is part of the hardcoded expectancies of Ceph. wjw_digiware.nl: This is part of the hardcoded expectancies of Ceph.
And I have selected not to fight a battle… | |||||
matUnsubmitted Done Inline ActionsThen the port should patch ceph, ports live in PREFIX, which is /usr/local, they do not put anything in /etc, or anywhere else. (/var is somewhat ok) mat: Then the port should patch ceph, ports live in PREFIX, which is /usr/local, they do not put… | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsSo then I should not submit the port I guess?? What about a softlink from /etc/ceph to /usr/local/etc/ceph wjw_digiware.nl: So then I should not submit the port I guess??
There is a ton of changes required to fix this… | |||||
asomersUnsubmitted Done Inline ActionsIMHO this is more of a guideline than a rule. Ideally Ceph would allow its config files to live in /usr/local/etc. But there are plenty of other ports that don't, like tomcat8, X11, logrotate and even pkg. Having worked on Ceph, I know what a Herculean effort it would be to push up a change like this, and I think that it would be more valuable to get net/ceph-devel into the ports tree first. We can always make it a goal for net/ceph. asomers: IMHO this is more of a guideline than a rule. Ideally Ceph would allow its config files to… | |||||
matUnsubmitted Done Inline ActionsWell, consider the only place you can write is /var/ and /usr/local/, everything else is read-only from a port's point of view. By all mean, submit the port, there are certainly people who would like it, which is what you are doing right now, but before it gets accepted, it must follow our rules. I do not believe patching the sources to use /usr/local/etc/ceph and not /etc/ceph should be a hard thing. I can't believe they hardcoded it everywhere, there must be some global define with it somewhere. mat: Well, consider the only place you **can** write is /var/ and /usr/local/, everything else is… | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsMat, You are a real software optimist. ;-) Getting modified may not be the biggest problem, getting them accepted is. wjw_digiware.nl: Mat,
You are a real software optimist. ;-)
There's about 50 lines with references to… | |||||
${MKDIR} ${STAGEDIR}/var/lib/ceph | |||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/bootstrap-mds | |||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/bootstrap-osd | |||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/mds | |||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/mon | |||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/osd | |||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/tmp | |||||
${MKDIR} ${STAGEDIR}/var/log/ceph | |||||
${MKDIR} ${STAGEDIR}${PREFIX}/etc/rc.d | |||||
matUnsubmitted Done Inline Actionsyou are not putting any files in there, why create it ? mat: you are not putting any files in there, why create it ? | |||||
wjw_digiware.nlAuthorUnsubmitted Done Inline ActionsIt is part of the environment Ceph expects. wjw_digiware.nl: It is part of the environment Ceph expects.
It does not make these directories when is starts… | |||||
matUnsubmitted Done Inline ActionsPREFIX/etc/rc.d is already created because USE_RC_SUBR is in use, so remove it from here. mat: PREFIX/etc/rc.d is already created because USE_RC_SUBR is in use, so remove it from here. | |||||
# Use the Ceph init.d script as the interface to regular | |||||
# starting and stopping deamons. rc.d work is done thru | |||||
# a separate rc.d/ceph script calling init-ceph again. | |||||
${CP} ${STAGEDIR}${PREFIX}/etc/init.d/ceph ${STAGEDIR}${PREFIX}/bin/init-ceph | |||||
asomersUnsubmitted Done Inline ActionsUse INSTALL instead of CP asomers: Use INSTALL instead of CP | |||||
matUnsubmitted Not Done Inline ActionsMore exactly, use INSTALL_SCRIPT as I think it is a script. mat: More exactly, use INSTALL_SCRIPT as I think it is a script. | |||||
.include <bsd.port.mk> |
Please remove all commented code.