Page MenuHomeFreeBSD

64bit CentOS 6.6 ports
AbandonedPublic

Authored by xmj on Feb 1 2015, 12:38 AM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 27 2024, 9:14 AM
Unknown Object (File)
Jan 23 2024, 1:29 PM
Unknown Object (File)
Jan 19 2024, 3:39 AM
Unknown Object (File)
Jan 5 2024, 5:48 AM
Unknown Object (File)
Jan 5 2024, 3:27 AM
Unknown Object (File)
Jan 4 2024, 11:47 PM
Unknown Object (File)
Jan 1 2024, 6:16 AM
Unknown Object (File)
Dec 30 2023, 4:22 PM

Details

Summary

This commit converts all of the CentOS 6.6 ports to support 32 or 64bit versions
It renames pkg-plist to pkg-plist.i686 for the existing files, and creates pkg-plist.x86_64
the original distinfo was already called distinfo.i686 so just creates distinfo.x86_64

To under with the 64bit version of CentOS instead of 32, in /etc/make.conf:
OVERRIDE_LINUX_BASE_PORT=c6_64

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
allanjude edited edge metadata.

Update PORTREVISION for modified Makefiles

Mk/bsd.linux-rpm.mk
156

Is this actually used anywhere?

Mk/bsd.port.mk
1769

What's the reason for moving this block from bsd.linux-rpm.mk ?

1773

Duplicate if-block. Can you abstract it outside, so that it'll work for both CentOS bases/ports independent of architecture?

1777

When is this part ever executed?

emulators/linux_base-c6/Makefile
192

You could rewrite that to
@${CHMOD} -R u+rwX ${WRKDIR}/lib64 ${WRKDIR/usr/lib64
and remove the else clause.

231

Please remove this comment.

244

Please remove this comment.

emulators/linux_base-c6/pkg-message
12

Let's keep this line removed. The experimental part with the 64bit stuff is most likely the linuxulator, not the ports itself.

Mk/bsd.linux-rpm.mk
156

no idea, I didn't change that line

Mk/bsd.port.mk
1769

linux-rpm.mk is only included if the port has USE_LINUX_RPM=yes

Some other ports, like linux-c6, the base it self, flash, etc, needed the variables like LINUX_RPM_ARCH and LINUX_REPO_ARCH even though they don't use the RPM system (which changes the distfiles etc).

This will also be required for stuff like a 64bit version of the linux-oracle-jdk port

1777

yes, most ports set USE_LINUX to c6, not c6_64

This block actually switches them if 'override' is set.

This might be a place where it should be OVERRIDE_LINUX_NONBASE_PORTS

emulators/linux_base-c6/Makefile
192

good idea

emulators/linux_base-c6/pkg-message
12

This likely needs changing a bit. If you have lemul then the default osrelease is 2.6.32

given the number of files in this diff I may have missed some flaw, but overall it seems reasonable. I'd prefer to see the final diff before I approve with emulation hat.

Mk/bsd.linux-apps.mk
46

I am not following this change though I think I'm missing something.

Mk/bsd.linux-rpm.mk
81–93

Why is this hidden under PACKAGE_BUILDING?

156

If this isn't used, please remove it in this cleanup. It may be worthwhile just to grep the tree for its use. If it is used outside of this file, it must be renamed.

164

Is there a variable containing the list of allowed values rather than replicating them into the IGNORE?

Mk/bsd.port.mk
1773

+1 to what @xmj said

allanjude edited edge metadata.

Major update, catched up to the current ports tree

Is this up to date?

I have the following errors using arc patch:

Index: www/linux-c6-flashplugin11/distinfo.i686
===================================================================
--- www/linux-c6-flashplugin11/distinfo.i686
+++ www/linux-c6-flashplugin11/distinfo.i686

Patching file www/linux-c6-flashplugin11/distinfo.i686 using Plan A...
Reversed (or previously applied) patch detected! Assume -R? [y]

...

Index: java/linux-oracle-jre18_64/pkg-plist
===================================================================
--- java/linux-oracle-jre18_64/pkg-plist
+++ java/linux-oracle-jre18_64/pkg-plist

File to patch:
...

Also, the downloadable diff in web interface doesn't show some pkg-plist.i686 files.

Please open a ports infrastructure PR to request an exp-run, and attach a patch generated with "svn diff --git"

Also a question, is it possible to install, say, both gnutls-2.8.5-14.el6_5.i686 and gnutls-2.8.5-14.el6_5.x86_64 on the same centos host?

Update with cleanups after running i686 and x86_64 poudriere test runs

xmj requested changes to this revision.Jun 13 2015, 8:31 AM
xmj edited edge metadata.

It's probably a good idea to go over pretty much the whole stack of bsd.linux-*.mk files/entries and throw out everything that's not needed anymore, and simplify everything that can be simplified.

Otherwise we're about to make them even more unmaintainable as they currently are (I blame myself, solar flares and legacy from previous revisions).

Mk/bsd.linux-apps.mk
46

Setting LINUX_BASEPORT_NAME to -${OVERRIDE_LINUX_NONBASE_PORTS} here (line 46),

setting OVERRIDE_LINUX_NONBASE_PORTS to c6_64 in make.conf

and trying to build 64bit ports will break on
bsd.linux-apps.mk lines following this pattern:

${foo}_PORT= ${PORTSDIR}/${bar}/linux${LINUX_BASEPORT_NAME}-${baz}

Mk/bsd.linux-rpm.mk
158

No need for setting USE_LINUX to c6 if it's tested one line above.

Mk/bsd.port.mk
1770

USE_LINUX= c6_64 should be IGNORE'd if the destination ARCH is i386.

This revision now requires changes to proceed.Jun 13 2015, 8:31 AM
allanjude edited edge metadata.
allanjude marked 5 inline comments as done.

Update live from BSDCan

I have reviewed this completely (read-only, I haven't tested anything) now (Essen Hackathon 2015), and apart from the comment about the remvoed IGNORE part which should be handled, I think the patch is OK.
Is this tested to not break the 32bit version of the linux base ports (c6 & f10)?
If it doesn't break -- specially the case where a port wants c6 but the override is set to f10 (= the IGNORE part of my comments) -- I would say go ahead and commit it (it will not hurt to have some rough edges in the 64bit parts... if any, we can fix them as they show up).

Mk/bsd.linux-rpm.mk
64

Why is all the above removed, is it handled in another place (which one)? I can not find a place where the IGNORE part is done after this patch.

emulators/linux_base-c6/Makefile
231

As this is a clean-up and not related to c6_64, I would assume the action is optional for a commit of the c6_64 parts.

emulators/linux_base-c6/pkg-message
12

Changing this can be done any time, before or after committing the c6_64 parts.

Answer a question from eadler.

Mk/bsd.linux-rpm.mk
81–93

We don't need the srpms to install a port (end-user), but we are required to provide the (L)GPLed source on CDs and our mirrors, as such we fetch it when we do a pacakge build on the FreeBSD cluster -> automatically included in the upload to the mirrors.

I improved some parts of the code (see individual comments).
As it seems phabricator is build for more colaboration between the people besides 1 submitter and several no-patch-modify-rights reviewers. It doens't allow me to upload my diff.

I will (later today or tomorrow) test the 32 bit side. If nothing breaks I may commit this (except there are objections off course). A few minor issues we may have overlooked in the 64bit case will not hurt (an user has to override the default, so he already knows that he is in the there-may-be-dragons area).

Mk/bsd.linux-rpm.mk
64

In my local copy of this patch I added the IGNORE part again.

emulators/linux_base-c6/pkg-message
12

In my local copy of the patch I changed this to:
-You should enable Linux mode with the linux_enable variable of rc.conf(5)
-and use compat.linux.osrelease=2.6.18 in sysctl.conf(5).
+You should enable Linux mode with the linux_enable variable of rc.conf(5).
+Depending on the version of FreeBSD you are using you may have to increase
+the emulated linux version via compat.linux.osrelease=2.6.18 in
+sysctl.conf(5). Check via "sysctl compat.linux.osrelease" that it shows a
+lower version number before setting it.

I improved some parts of the code (see individual comments).
As it seems phabricator is build for more colaboration between the people besides 1 submitter and several no-patch-modify-rights reviewers. It doens't allow me to upload my diff.

At the very bottom of the diff, where the comments box is, one of the options in the 'action' dropdown is to 'commandeer' the differential. Once you do this, you will be able to upload your patches.

Mk/bsd.linux-apps.mk
46

There is 1 port, emulators/linux_base-c6

Depending on some settings, it installs i686 ports, called -c6, or x86_64 ports, called -c6_64
Either way, the PORT name stays the same.

Part of the confusion may be mine as well. I am not sure what the difference is supposed to be between OVERRIDE_LINUX_NONBASE_PORTS and OVERRIDE_LINUX_BASE_PORTS

Also, I am not sure what the best way will be to determine when to use the _64 ports. Now that lemul is merged, if we get the _64 ports to also install the 32bit versions of everything, we can default to _64 if arch == amd64.

Mk/bsd.linux-rpm.mk
81–93

this was already here. We only fetch the source files if we are building a package. Not entirely sure why.

81–93

because GPL

155

The default is now C6, this is broken (not by me), but is never encountered because it is inside if AUTOMATIC_PLIST

156

USE_LINUX=f10 is used for all of the linux-f10-* ports

Mk/bsd.port.mk
1748

this can probably be combined into a single if, but it'd be really long

netchild added a reviewer: allanjude.

After agreement with Alain: comandeer this revision.

netchild edited edge metadata.
  • add back removed IGNORE
  • remove one IGNORE message (64bit install on non-64bit system... somehow it triggered on my 64bit system)
  • improve pk-message of the base port
  • remove a few outdated comments
  • fix the default in AUTOMATIC_PLIST

Change parts which may have caused the index breakage.

Index: devel/linux-c6-qt47/distinfo.i686
===================================================================
--- devel/linux-c6-qt47/distinfo.i686
+++ devel/linux-c6-qt47/distinfo.i686

File to patch:


ls: /usr/ports/devel/linux-c6-qt47/distinfo.i686: No such file or directory

That's where patching the current ports tree fails. I've tried to fix it, but it seems to have been generated from your previous patched ports tree.

That's where patching the current ports tree fails. I've tried to fix it, but it seems to have been generated from your previous patched ports tree.

I assume you downloaded the diff from the website and appllied it via patch: I noticed that the diff has the removal of files, but not the addition of files when ther was a "svn move". If you use the arc tool to download and apply the changes (I think this requires svn and a ports tree which is checked out via svn), you will get all the changes.

Yes, I am not sure if arc uses the flag or not, but if done manually,
you'd specify the svn '--show-copies-as-adds' flag to solve this.

Thanks, it works now, although arcanist searched specifically for svn binary. I know I can compile base with WITH_SVN=yes, but didn't want to recompile on VM, so I had to install devel/subversion. Is there no way to use svn from base without recompiling with WITH_SVN=?

In D1746#65816, @pkubaj_riseup.net wrote:

Thanks, it works now, although arcanist searched specifically for svn binary. I know I can compile base with WITH_SVN=yes, but didn't want to recompile on VM, so I had to install devel/subversion. Is there no way to use svn from base without recompiling with WITH_SVN=?

I imagine you could alias svn to point to svnlite

netchild edited edge metadata.

Fix plist for most F10 ports.

I'm not sure whether I can send actual bug reports here, or this is only for stylistic bugs in patches, so pardon my intrusion, if bugs don't go here :)

I'm trying to test whether Linux amd64 version of "Faster than Light" game works. i386 version works all right on 10.1-RELEASE using old Linux layer, it also worked with new layer (only i386) when lemul was on a separate branch. Now, when I run either version (after running brandelf -t Linux $binary) I get "ELF binary type "3" not known. I will also try with the default ports version later.

Fix linux-nero and linux-f10-flashplugin.

Fix regressions in linux_base-c6 ports.

xmj edited reviewers, added: netchild; removed: xmj.

Commandeering for CentOS 6.7 updates

emulators/linux_base-c6/Makefile
177–178

We could consider removing this whole if-block, as the current implementation seems to not have any effect on pkg names at all (including UNIQUENAME, which is the only thing LATEST_LINK seems currently used for).

xmj@mx12:~/repos/ports-svnssh/Mk$ grep LATEST_LINK *                                        -- INSERT --
bsd.port.mk:#                             this is set to ${LATEST_LINK} when LATEST_LINK is set,
bsd.port.mk:# LATEST_LINK       - Install the "Latest" link for the package as ___.  Define
bsd.port.mk:.if defined(LATEST_LINK)
bsd.port.mk:UNIQUENAME?=        ${LATEST_LINK}
bsd.port.mk:LATEST_LINK?=               ${PKGBASE}
bsd.port.mk:PKGLATESTFILE=              ${PKGLATESTREPOSITORY}/${LATEST_LINK}${PKG_SUFX}

cd ..

xmj@mx12:~/repos/ports-svnssh$ make -V UNIQUENAME -C emulators/linux_base-c6
linux_base-c6
xmj@mx12:~/repos/ports-svnssh$ make -V PKGNAME -C emulators/linux_base-c6
linux_base-c6-6.6_4
xmj@mx12:~/repos/ports-svnssh$ make -V ARCH -C emulators/linux_base-c6
i386
make -V LATEST_LINK -C emulators/linux_base-c6
linux32_base-c6

That is on an amd64 install.

Actually, this patch was merged by netchild@ in rP393817