#45742 closed defect (fixed)
botan: missing from server-generated PortIndex
Reported by: | l.digaspero@… | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | High | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | mww@…, mkae (Marko Käning) | |
Port: | botan |
Description
The current qt5-creator-mac depends on botan, which is actually included in the qt5-creator source. Moreover it might happen that the botan dependence cannot be satisfied (for example in the current rsync version, as of today, for some reason it is unavailable). I propose to leave the possibility to use and install system-wide botan port as a variant.
Attachments (2)
Change History (32)
Changed 10 years ago by l.digaspero@…
Attachment: | Portfile-qt5-creator-mac-nobotan.diff added |
---|
comment:1 Changed 10 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | mcalhoun@… removed |
---|---|
Keywords: | haspatch added |
Owner: | changed from macports-tickets@… to mcalhoun@… |
Status: | new → assigned |
comment:2 Changed 10 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → wontfix |
---|---|
Status: | assigned → closed |
Unless a compelling reason comes up in the future, we'll just keep the port the way it is.
Thanks for the input.
comment:3 follow-up: 5 Changed 10 years ago by mkae (Marko Käning)
Resolution: | wontfix |
---|---|
Status: | closed → reopened |
Won't fix isn't a solution to this problem, if botan is a non-existant dependency for this port IMHO!
comment:4 Changed 10 years ago by mf2k (Frank Schima)
Keywords: | botan variant removed |
---|---|
Version: | 2.3.2 |
comment:5 Changed 10 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | mk@… added |
---|
Replying to mk@…:
Won't fix isn't a solution to this problem, if botan is a non-existant dependency for this port IMHO!
Perhaps I misunderstood the nature of the problem.
What trouble are you having downloading botan?
I have always been able to download, extract, and install with no problem.
In the original post, it was stated that it (emphasis mine):
might happen that the botan dependence cannot be satisfied
I have been unable to reproduce the report of:
current rsync version, as of today, for some reason it is unavailable
Is there a current problem that needs solving?
If so, I would be happy to look into it.
Changed 10 years ago by l.digaspero@…
Attachment: | Portfile-qt5-creator-mac-nobotan.2.diff added |
---|
Adding the no_botan variant that compile without botan.
comment:6 follow-ups: 8 9 Changed 10 years ago by l.digaspero@…
I currently cannot install botan (macports says it is not existing). I suggest to add a no_botan variant to the Portfile (see the updated diff file) that allow to avoid installing botan, so the default variant will be as before, but it will cope with this situation.
comment:7 Changed 10 years ago by mf2k (Frank Schima)
Macports policy is to not have no_foo
variant names. Please call the variant "botan" and do the reverse. So botan would be removed by typing:
sudo port install qt5-creator-mac -botan
comment:8 Changed 10 years ago by larryv (Lawrence Velázquez)
Replying to l.digaspero@…:
I currently cannot install botan (macports says it is not existing).
We should figure out why this is the case. The botan
port exists on our rsync server.
% rsync rsync://rsync.macports.org/release/ports.tar.gz . % pax -z '*botan*' < ports.tar.gz ports/devel/qca/files/patch-src_botantools_botan_botan_secmem.h.diff ports/security/botan ports/security/botan/Portfile %
- Have you run
sudo port selfupdate
lately? - What does
port info botan
say for you? - What happens if you try to install
botan
manually (i.e.,sudo port install botan
)?
I suggest to add a no_botan variant to the Portfile (see the updated diff file) that allow to avoid installing botan, so the default variant will be as before, but it will cope with this situation.
No. We will not add a variant to work around a problem that should not exist.
comment:9 follow-up: 10 Changed 10 years ago by mkae (Marko Käning)
Replying to l.digaspero@…:
I currently cannot install botan (macports says it is not existing).
Same here, although the Portfile is there:
$ ls /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/security/botan/ Portfile
How can that be? Is MacPorts' registry broken?
comment:10 Changed 10 years ago by larryv (Lawrence Velázquez)
Exactly what error are you seeing? This is what I get:
% sudo port install botan Password: ---> Computing dependencies for botan ---> Fetching distfiles for botan ---> Attempting to fetch Botan-1.10.8.tbz from http://files.randombit.net/botan/ ---> Verifying checksums for botan ---> Extracting botan ---> Configuring botan ---> Building botan ---> Staging botan into destroot ---> Installing botan @1.10.8_1 ---> Activating botan @1.10.8_1 ---> Cleaning botan ---> Updating database of binaries ---> Scanning binaries for linking errors ---> No broken files found. sudo port install botan 93.34s user 9.87s system 424% cpu 24.306 total %
comment:11 follow-up: 12 Changed 10 years ago by mkae (Marko Käning)
$ port info botan Error: Port botan not found
"sudo port selfupdate" I carried out lately. :-(
comment:12 Changed 10 years ago by larryv (Lawrence Velázquez)
How strange. Could you try deleting your port index and running selfupdate
again to rebuild it from scratch?
comment:13 Changed 10 years ago by l.digaspero@…
However, since botan is not a really required dependence for qt5-mac-creator (since it comes with a custom botan distribution in the source package) why should it be the default in the macports distribution? I suggest to go with my first amended Portfile which defines a variant for installing and using the botan dependency only if required.
Incidentally I have the same behavior as in the previous post for installing botan:
$ sudo port info botan Error: Port botan not found
comment:14 Changed 10 years ago by neverpanic (Clemens Lang)
Please don't use the bundled botan, it leads to problems such as #37652. Also, it's yet another private copy of a library we already have. No need to waste build time, disk space and other resources on something we already have.
What do
ls -lash $(port dir yubico-pam)/../botan grep -iEA1 '^botan' $(port dir yubico-pam)/../../PortIndex grep -i '^botan' $(port dir yubico-pam)/../../PortIndex.quick
print on your system?
comment:15 follow-up: 16 Changed 10 years ago by mkae (Marko Käning)
This is what I get:
$ ls -lash $(port dir yubico-pam)/../botan total 4.0K 0 drwxr-xr-x 3 root wheel 102 Sep 29 08:01 . 0 drwxr-xr-x 129 root wheel 4.3K Sep 16 23:30 .. 4.0K -rw-r--r-- 1 root wheel 2.6K Sep 29 08:01 Portfile $ grep -iEA1 '^botan' $(port dir yubico-pam)/../../PortIndex $ grep -i '^botan' $(port dir yubico-pam)/../../PortIndex.quick $ port installed botan The following ports are currently installed: botan @1.10.8_1 (active) $ port info botan Error: Port botan not found
Then I deleted the 2 port index files and retried, but got the same results above, e.g.:
$ port info botan Error: Port botan not found
comment:16 follow-up: 17 Changed 10 years ago by larryv (Lawrence Velázquez)
Replying to mk@…:
$ grep -iEA1 '^botan' $(port dir yubico-pam)/../../PortIndex $ grep -i '^botan' $(port dir yubico-pam)/../../PortIndex.quick
These commands should have returned something.
Then I deleted the 2 port index files and retried, but got the same results above, e.g.:
$ port info botan Error: Port botan not found
Did you regenerate the indices after deleting them (with port selfupdate
or portindex
)?
comment:17 follow-up: 18 Changed 10 years ago by mkae (Marko Käning)
Replying to larryv@…:
These commands should have returned something.
Yes.
Did you regenerate the indices after deleting them (with
port selfupdate
orportindex
)?
Yes.
I am as puzzled about this as you are! :-o
comment:18 follow-up: 19 Changed 10 years ago by larryv (Lawrence Velázquez)
comment:20 Changed 10 years ago by neverpanic (Clemens Lang)
What happens if you run
cd $(port dir yubico-pam)/../botan && port -d info
Did you generate the PortIndex locally or did you get the one from the server? Maybe the server's PortIndex is corrupt? Which OS version do you run?
comment:21 Changed 10 years ago by mkae (Marko Käning)
The above command gives me the expected output for botan. :)
I used "sudo port selfupdate" to generate the index. (Don't know whether that rsyncs only or whether it gets generated locally.)
I am using Mavericks here on my host and guest VMs.
comment:22 Changed 10 years ago by neverpanic (Clemens Lang)
It rsyncs unless you're using SVN as source. I'll check the server-side PortIndex.
comment:23 Changed 10 years ago by neverpanic (Clemens Lang)
Component: | ports → server/hosting |
---|---|
Keywords: | haspatch removed |
Port: | qt5-creator-mac removed |
Priority: | Normal → High |
Summary: | qt5-creator botan external → Server-generated PortIndex is corrupt, e.g. missing botan (was: qt5-creator botan external) |
Type: | enhancement → defect |
Indeed:
:) $> rsync --partial --progress --inplace rsync://rsync.macports.org/release/tarballs/PortIndex_darwin_13_i386/PortIndex /var/tmp/ […] :) $> rsync --partial --progress --inplace rsync://rsync.macports.org/release/tarballs/PortIndex_darwin_13_i386/PortIndex.quick /var/tmp/ […] :) $> cd /var/tmp :) $> grep -iEA1 '^botan' PortIndex :( $> grep -i '^botan' PortIndex.quick :( $>
So the server-side PortIndex is corrupt. We need to figure out whether it's only the darwin13 one or all and escalate to Shree.
comment:24 Changed 10 years ago by jmroot (Joshua Root)
The botan portfile is broken:
% port info botan build_arch="" Error: Unable to open port: can't read "merger_configure_args()": no such element in array
comment:25 Changed 10 years ago by jmroot (Joshua Root)
Summary: | Server-generated PortIndex is corrupt, e.g. missing botan (was: qt5-creator botan external) → Server-generated PortIndex is missing botan (was: qt5-creator botan external) |
---|
comment:26 Changed 10 years ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:27 Changed 10 years ago by jmroot (Joshua Root)
Cc: | mww@… added |
---|
comment:28 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Component: | server/hosting → ports |
---|---|
Port: | botan added |
Summary: | Server-generated PortIndex is missing botan (was: qt5-creator botan external) → botan: missing from server-generated PortIndex |
comment:29 Changed 10 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Please forgive my ignorance, but can anyone explain why r127982 fixes the problem (although I am glad it does)?
botan has the following code on line 46:
array set merger_configure_args { ppc --cpu=ppc i386 --cpu=ia32 ppc64 --cpu=ppc64 x86_64 --cpu=amd64 }
So how, on line 65, could merger_configure_args($build_arch)
be undefined?
Further, why does this problem only show up on certain configurations?
On the mailing list, it mentions "a bad assumption," but I am not sure what that means.
Thanks to anyone who can explain this.
comment:30 Changed 10 years ago by jmroot (Joshua Root)
You can’t assume build_arch will always contain one of those four values. It’s free to take any value that the compiler understands, or be blank (which means don’t pass any -arch flags, juts go with what the compiler produces by default). On the server that generates the PortIndex, it happens to be blank.
Many thanks for the suggesting and especially the patch.
I am a little reluctant to mess with qt5-creator-mac if for no other reason than it is working for me now and breaks if you look at it wrong.
I have not tested it yet, but sometimes if software (such as botan) is installed by more than one Portfile, it conflicts either now or down the road.
Besides, more variants also means more things to test and debug.
My first reaction would be that unless something doesn't work, we keep it the way it is.
Any thoughts?