Package Details: cjdns-git 21.1.r38.g20ddc268-1

Git Clone URL: (read-only, click to copy)
Package Base: cjdns-git
Description: A routing engine designed for security, scalability, speed and ease of use
Upstream URL:
Licenses: GPL3
Conflicts: cjdns
Provides: cjdns
Submitter: prurigro
Maintainer: prurigro
Last Packager: prurigro
Votes: 38
Popularity: 0.000000
First Submitted: 2012-02-06 04:01
Last Updated: 2021-03-01 22:19

Dependencies (8)

Required by (3)

Sources (1)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 Next › Last »

prurigro commented on 2013-04-30 09:53

Alright, the package has been updated! Unfortunately, I somehow managed to version the previous package using the latest (incompatible) value (0.3.1149), so this will cause issues triggering an automatic update via yaourt for anyone who installed that since as far as yaourt knows, your current version is newer than this one.

That said, all the required changes I can think of have been made, a lot of small issues I noticed as I went through have been fixed, and I reworked a few items for clarity and cleanliness.

I also realized that building with NO_DEBUG means there aren't any debugging symbols we don't want stripped out anymore, and so I've re-enabled the makepkg.conf OPTIONS variable for now.

Feel free to let me know if anyone notices anything else they think should be changed!

prurigro commented on 2013-04-30 08:52

The next release will unset conflicting makepkg.conf variables using the unset command instead of having them ="", and this will now be done in build() rather than mixing the declarations with package variables like before.

Interestingly, I actually discovered a series of warnings that were popping up because of the makepkg.conf CPPFLAGS variable (which I hadn't previously touched), and they quickly disappeared when I unset this as well.

I've also moved the sysvinit files to github as per Xyne's recommendation, and will be uploading the updated package with the aformentioned changes as well as a few other tweaks in a minute or two.

prurigro commented on 2013-04-30 07:03

djpohly: Good to know and thanks for reporting! I'll update the explanation to reflect that there aren't currently any known failures caused by overriding cjd's optimizations with the generic ones makepkg defaults to use. That said, everyone should keep in mind that when cjd recommended I unset the makepkg default CFLAGS and such in this package, it was because he felt his were/are the correct ones to use when building regardless of whether or not setting any others caused a problem.

djpohly commented on 2013-04-29 21:35

For what it's worth, I just built successfully here on x86_64, 100% tests passed, without resetting CFLAGS or OPTIONS (and nothing non-default specified in .makepkg.conf).

prurigro commented on 2013-04-29 21:16

Xyne: Sweet, thanks! I was trying to find a way to do it directly in the URL last night, but I'd already cut into my sleep time making your changes before finding out about the nacl issue and figured a hack solution would be better than a broken package. I'm glad you knew how to sort it out properly anyway :) (just about to upload the updated PKGBUILD)

Also, in respect to included source files-- I guess I hadn't thought about supplimentary bash scripts specific to arch as 'source files' before, but if you think it could cause any issues I'll setup a git repo and source from that sometime soon.


Xyne commented on 2013-04-29 20:24

Thanks for incorporating the changes. I noticed that you are resetting the head in the pkgver() function. This is the wrong way to do it. The only function that should modify VCS sources is the prepare() function, but even that should only be used for patching and other custom modifications. To checkout a specific commit, replace "branch=master" with "commit=<id>" in the sources array. For example, in this case you should use "commit=9c556ebf84".

You should also strongly encourage your friends on hyperboria to upgrade to systemd. There is not much of a point to running an outdated Arch system. That, however, was not the only reason that I removed the old daemon from the package. AUR packages should not contain any source files. Their presence can be grounds for deletion and some TUs will delete such packages on sight, so I recommend that you update the package to conform to the rules as soon as possible.

Thanks again!

prurigro commented on 2013-04-29 08:38

Alright, I've created an updated package using Xyne's submission as a reference.

I'd eventually like to make this into a split package with cjdns-git containing the core binaries and systemd service, cjdns-sysvinit containing the legacy rc.d and conf.d files, and cjdns-log containing the cjdnslog script and associated python libs; however, the AUR currently doesn't support split packages, and being that I currently know numerous Arch users on Hyperboria who still rely on the sysvinit script because they haven't upgraded their systems to use systemd, I'm not going to remove support quite yet... That said, I've split the contents of package() into three functions, each associated with the three ideas I mentioned above, and you can just comment out the line where the associated function is called in package() if you want to remove specific functionality like sysvinit.

Xyne: I didn't copy your package verbatim for a variety of reasons, but definitely let me know if you notice any of your changes that I didn't implement which happen to be required for conforming to Pacman 4.1 VCS or something (maybe if you think they work much better your way or something too)

Everyone should take note that this release has been set to use the commit prior to the one where CJD updates to the latest nacl (which currently fails to build on most configurations.) I'll switch back to the latest HEAD once I either figure out how to get things to compile or CJD commits a fix, but if you notice a fix has been posted before I update, want to see if your system is able to build things the way they are, or want the package to use the latest HEAD for any other reason, just comment out or remove the following line: "git reset --hard 9c556ebf84 #Set HEAD back to older commit, before nacl started causing issues with compiling"


prurigro commented on 2013-04-28 09:02

Xyne: Ahoy there! I have the package resetting CFLAGS because prior to doing this, the default CFLAGS set by Arch caused the cjdns tests to fail, and being that CJD sets his own CFLAGS in the cmake, resetting the Arch ones isn't going to leave the package optimization free or anything bad like that. Thanks for taking a look at the PKGBUILD on that note-- I'll see what changes you've made after posting this, and throw up an updated package based on your changes.

On a side note, I've started to maintain a split PKGBUILD in Gitboria that will continue any changes here except split the package into the main items, the rc.d stuff (for those who haven't updated to systemd, and the cjdnslog stuff, which requries python2. Everything is included in this package, since the AUR doesn't allow split packages unfortunately; when I post my next update I'll leave a link to where the split PKGBUILD is hosted on gitboria.


Xyne commented on 2013-04-25 19:59


I have updated the PKGBUILD to conform to Pacman 4.1 VCS packages. I have also removed redundant makedepends (base-devel packages should not be included, even if I myself prefer explicit deps) and simplified the build and package functions.

I have also removed the deprecated init.d-style daemon.

I suspect that CFLAGS and OPTIONS do not need to be reset, but I have not removed those lines because I am not familiar enough with the package yet to understand why they were reset in the first place.

You can get the updated PKGBUILD here:

Thanks for maintaining this package.


prurigro commented on 2013-04-24 21:53

2 fixes thanks to werecat: cjdns.service is now being grabbed from the git repo, and the license metadata for the package is GPL3 instead of GPLv3 (GPL3 is correct)

I've also added cmake to the build deps