[OpenWrt-Devel] dnscrypt-proxy package missing in snapshot

Alexandru Ardelean ardeleanalex at gmail.com
Thu Jun 7 03:38:39 EDT 2018


On Wed, Jun 6, 2018 at 7:38 PM, Maciej Soltysiak <maciej at soltysiak.com> wrote:
> Hi,
>
> It doesn't look like there are any takers for this task.
> Can anyone guide me to a 101 tutorial on making a brand new package?

I guess you can start with a wiki page for this:
https://openwrt.org/docs/guide-developer/helloworld/chapter3

When doing that, you can use these rules for build speed-up:
https://openwrt.org/docs/guide-developer/build.a.package

You can also add adjustments with this stuff [1]:
https://openwrt.org/docs/guide-developer/packages.flags

Note that in Makefile, the Build/Prepare and Build/Compile build rules
[and also a few others], are sometimes omitted.
That's because for many of them, the default build rules work perfectly.
You only need to adjust build variables like mentioned in [1].

I usually try to look at other packages and how they do things.
Copying knowledge is a fun/natural way [for me] to do things/learn.
So, personally I'd start with this file and adjust it:
https://github.com/openwrt/packages/blob/master/net/dnscrypt-proxy/Makefile

When building, I'd recommend starting with an SDK.
It saves time initially. But it is a good idea to also go the
full-route sometimes [i.e. clone the openwrt repo and build everything
from scratch].

For building a package from scratch, I guess any SDK is fine, so I'd
say go with ar71xx [it's still the more popular target].
Link page [go at the bottom]:
http://downloads.openwrt.org/snapshots/targets/ar71xx/generic/
Filename: openwrt-sdk-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64.tar.xz

You typically, untar this, run
./script/feeds update -a
./script/feeds install -a

If I need to be quick, I just add the package in the "package" folder.
[ Example: package/dnscrypt2/Makefile ]
Then

:Edit_Makefile
Then:  make menuconfig   [select your package to be built]
Run    make
Examine errors
If not ok,  goto Edit_Makefile

That's pretty much my 101 [with a combination of other 101s gathered
from around other places]

> dnscrypt-proxy 2 is completely different from its predecessor. There are
> sources, as well as pre-build binaries for 20+ architectures.
> go is required to build.

Pre-built binaries are not preferred for things like dnscrypt-proxy;
or I am misunderstanding something about pre-built binaries.
Usually in OpenWrt external binaries are preferred for things like
special firmware for chips, where really there is no alternative for
controlling the chip.
Even if you have pre-built binaries for userspace stuff, it's still
preferable to build them from scratch in OpenWrt, to avoid headaches
with maintaining consistency between GCC, libc, architecture and other
stuff.
Well, if it's a internal package [that won't be upstreamed], then it's
fine to have pre-built stuff.

>
> I'd very much appreciate for helping do this,
> Maciej
>
> On Sun, Feb 18, 2018 at 12:24 AM, Maciej Soltysiak <maciej at soltysiak.com>
> wrote:
>>
>> On my MIPS32 (WNDR3800) system, I noticed the C binary was <100k.
>> The GO binary is 6.5MB, I ran upx on it and it went down to 1.5M.
>> It incurs about 1s of delay for unpacking, but it works.
>>
>> I don't know much about packaging this around the uci scripting, etc, but
>> I hope this helps the maintainer a bit.
>>
>> Best regards,
>> Maciej
>>
>> On Sat, Feb 17, 2018 at 11:40 PM, Maciej Soltysiak <maciej at soltysiak.com>
>> wrote:
>>>
>>> The OpenWrt Makefile aims to get dnscrypt-proxy 1.9.5 from a mirror at
>>> https://github.com/dyne/dnscrypt-proxy
>>>
>>> However, the upstream (Frank Denis) recently released a 2.0 which is
>>> significantly different.
>>> It's now written in go, instead of C and it support the new version of
>>> the protocol (v2).
>>>
>>> If we're going to get this package fixed we should see if we can get the
>>> new one to run.
>>> Probably should come from upstream at:
>>> https://github.com/jedisct1/dnscrypt-proxy
>>>
>>> Best regards,
>>> Maciej
>>>
>>> On Mon, May 1, 2017 at 12:48 PM, Alexandru Ardelean
>>> <ardeleanalex at gmail.com> wrote:
>>>>
>>>> On Mon, May 1, 2017 at 12:04 PM, Mangesh Bhamre
>>>> <mangesh at opennetware.com> wrote:
>>>> >
>>>> > Hello,
>>>> >
>>>> > Last time I reported this issue was for MT7620.  dnscrypt-proxy now
>>>> > failing for MT7621.
>>>> >
>>>> >
>>>> > http://buildbot.openwrt.org:8010/broken_packages/ramips.mt7621/dnscrypt-proxy/compile.txt
>>>> >
>>>> > I am not sure what was the fix made. Likely was related to SSL cert
>>>> > check. Can anyone please look at this and fix it same way as MT7620 ?
>>>> >
>>>> > Regards,
>>>> > Mangesh
>>>> >
>>>> > --
>>>> > Regards,
>>>> >
>>>> > Mangesh Bhamre
>>>> > Co-founder & CTO | Open Netware
>>>> > +91-8879735272 | LinkedIn
>>>> >
>>>> >
>>>> > On Mon, Feb 13, 2017 at 9:33 PM, Ralph Sennhauser
>>>> > <ralph.sennhauser at gmail.com> wrote:
>>>> >>
>>>> >> On Mon, 13 Feb 2017 21:03:07 +0530
>>>> >> Mangesh Bhamre <mangesh at opennetware.com> wrote:
>>>> >>
>>>> >> > Hi Alex,
>>>> >> >
>>>> >> > Looking at build log -
>>>> >> >
>>>> >> > http://buildbot.openwrt.org:8010/broken_packages/ramips.mt7620/dnscrypt-proxy/compile.txt
>>>> >> >
>>>> >> > Tar ball is available on download.dnscrypt.org . Build download
>>>> >> > fails
>>>> >> > for some SSL issue.
>>>> >>
>>>> >> The site has HSTS enabled. Might that be the issue?
>>>> >>
>>>> >> Maybe just updating PKG_SOURCE_URL to use https might be all that
>>>> >> is needed. There was another user having issues with a redirect and
>>>> >> samba. I think he was using Ubuntu.
>>>> >>
>>>> >> Ralph
>>>> >>
>>>> >> >
>>>> >> > Also, tar ball is missing on mirror2.openwrt.org and
>>>> >> > downloads.openwrt.org/sources
>>>> >> >
>>>> >> > Not sure, how mirror2 or download.openwrt.org gets updated.  Any
>>>> >> > help
>>>> >> > in getting is appreciated.
>>>> >> >
>>>> >> > Regards,
>>>> >> > Mangesh
>>>> >> >
>>>> >> >
>>>> >
>>>> >
>>>>
>>>> Looks like the package wasn't found on OpenWrt mirrors.
>>>> Maybe some intermittent failure.
>>>>
>>>> You could try to setup your own cache/mirror [for packages/tarballs]
>>>> and point your build to use that as primary, and only then fallback to
>>>> OpenWrt's official repos.
>>>> _______________________________________________
>>>> openwrt-devel mailing list
>>>> openwrt-devel at lists.openwrt.org
>>>> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>>>
>>>
>>
>

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel



More information about the openwrt-devel mailing list