Page MenuHomeFreeBSD

Create emulators/linux-c7 metaport
ClosedPublic

Authored by tijl on Sep 13 2016, 9:02 PM.

Details

Summary

This patch contains all the ports from emulators/linux-c6 port in their respective versions from CentOS 7, using emulators/linux_base-c7 base. If a said package is available in CentOS 6, but not available in CentOS 7, it's not included (even if a said package is available from e.g. EPEL). I plan on making new ports for those packages (mainly SDL) and entirely new ports (for e.g. Steam) once this patch is committed.

Test Plan

The patch has been tested on Poudriere with FreeBSD 10.3/amd64 for both c7 and c7_64 variations.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

pkubaj updated this revision to Diff 20322.Sep 13 2016, 9:02 PM
pkubaj retitled this revision from to Create emulators/linux-c7 metaport.
pkubaj updated this object.
pkubaj edited the test plan for this revision. (Show Details)
pkubaj added reviewers: emulation, Linux Emulation, xmj, tijl.
pkubaj set the repository for this revision to rP FreeBSD ports repository.
pkubaj updated this revision to Diff 20324.Sep 13 2016, 9:14 PM
pkubaj edited edge metadata.

Remove DEFAULT group from EPEL7 source repo.

pkubaj updated this revision to Diff 20325.Sep 13 2016, 9:20 PM
pkubaj edited edge metadata.

Improve CONFLICTS.

pkubaj updated this revision to Diff 20326.Sep 13 2016, 9:29 PM
pkubaj edited edge metadata.

Remove leftover Makefile.orig from emulators/linux_base-c7.

xmj awarded a token.Sep 14 2016, 6:56 AM
pkubaj updated this object.Sep 14 2016, 12:38 PM
pkubaj edited edge metadata.
pkubaj updated this revision to Diff 20343.Sep 14 2016, 1:43 PM
pkubaj updated this object.

:I got info from xmj that the patch doesn't apply cleanly because of missing files. They should obviously be created but they aren't. This patch should apply just fine.

tijl edited edge metadata.Sep 14 2016, 3:01 PM

I suggest you create c7 ports as svn cp of c6 ports. The diff will be much smaller and easier to review. Because there are so many ports it's easiest to create a shell script for that like this:

svn cp accessibility/linux-c6-atk accessibility/linux-c7-atk
svn cp audio/linux-c6-alsa-lib audio/linux-c7-alsa-lib
# and so on

You can derive an initial script from your current patch like this:

awk '/^---.*-c7/{sub("/[^/]*$","",$2);c6=$2;sub("-c7","-c6",c6);print "svn cp",c6,$2}' D7886.diff | sort -u

Then replace these c7 files with your c7 files and upload the script and output of svn diff to phabricator or bugzilla.

pkubaj updated this revision to Diff 20346.Sep 14 2016, 3:43 PM
pkubaj edited edge metadata.

Patch made using svn cp.

mat added a comment.Sep 14 2016, 4:02 PM

Please, do not change the maintainer of all the ports, emulation@ is the right one.

pkubaj updated this revision to Diff 20348.Sep 14 2016, 4:19 PM
pkubaj edited edge metadata.

Corrected MAINTAINER to emulation@FreeBSD.org.

pkubaj updated this revision to Diff 20355.Sep 14 2016, 9:01 PM
pkubaj edited edge metadata.

There are pkg-plist-related problems in the previous patch. Probably some pkg-plists (somehow) weren't copied. I've verified building in Poudriere and modified so that it build properly (again).

pkubaj updated this revision to Diff 20358.Sep 14 2016, 10:06 PM
pkubaj edited edge metadata.

Removing some duplicate pkg-plist listings.

pkubaj updated this revision to Diff 20365.Sep 15 2016, 8:40 AM
pkubaj edited edge metadata.

Couple more pkg-plist- and pkg-descr-related non-critical fixes.

mat added inline comments.Sep 15 2016, 9:48 AM
audio/linux-c7-alsa-lib/Makefile
5 ↗(On Diff #20365)

All the alsa ports seem to go backward, is this intended ?

pkubaj added inline comments.Sep 15 2016, 10:02 AM
audio/linux-c7-alsa-lib/Makefile
5 ↗(On Diff #20365)

Yes, it's because some packages in CentOS 6.8 are actually newer than in 7.2 because 6.8 itself was released more recently.

I suppose 7.3 will contain new ALSA packages.

pkubaj updated this revision to Diff 20581.Sep 21 2016, 1:59 PM
pkubaj edited edge metadata.

Some ports that have linux-c6-* versions (namely jasper and pixman) weren't ported to linux-c7-* because they don't exist in emulators/linux-c6 metaport. I've added them to linux-c7. Also, I've added linux-c7-sdl20 port.

pkubaj updated this revision to Diff 20614.Sep 22 2016, 11:58 AM
pkubaj updated this object.
pkubaj edited edge metadata.

I've added linux-c7-qt-webkit, which now makes linux-c7 contain all the packages that linux-c6 has, apart from those removed from CentOS 7 and also not available in EPEL (unless I missed something). This patch also has updated linux-c7-devtools for new kernel-headers RPM.

I am still going to add ports for Steam and maybe Powershell (along with their dependencies), but they won't be a part of linux-c7 (although the dependencies may be).

xmj edited edge metadata.Sep 27 2016, 11:09 AM

This helps with applying the patch...:

for i in */linux-c6-*; do 
 svn cp $i $(echo $i | sed -e 's/c6/c7/');
done
tijl commandeered this revision.Oct 6 2016, 5:16 PM
tijl edited reviewers, added: pkubaj; removed: tijl.

The "update diff" link on the left lets me upload and review a new patch and then at the end it doesn't actually allow me to update the diff. I can only create a new review. So now I'm trying this commandeer thingy to see if "update diff" works then. This is the last time I use phabricator. I didn't like it from the start but I gave it a fair chance. Now I've had enough of it. I don't understand its terminology, I don't like its interface with some actions up left and others way at the bottom and comments above the patch instead of below, icons that don't make sense and above all it violates "tools not policy". This thing is making me jump through hoops and I'm all fck you I'm not a circus animal.

tijl updated this revision to Diff 21118.Oct 6 2016, 5:35 PM
tijl edited edge metadata.
tijl removed rP FreeBSD ports repository as the repository for this revision.

Bring over some recent changes to c6 ports.
Add support for USE_LINUX_RPM=noarch.
Set IGNORE when ONLY_FOR_ARCHS=amd64 and not using 64-bit linux.
Never install 32-bit files with ONLY_FOR_ARCHS=amd64.
Add libffi to linux_base-c7 for glib.
Add graphics/linux-c7-jbigkit for tiff.

pkubaj requested changes to this revision.Oct 7 2016, 10:05 AM
pkubaj edited edge metadata.

A few comments.

Basically some .include <bsd.port.mk> were removed, and two ports were reverted to their c6 versions.

I guess you wanted to rename linux-c7-libaudiofile to linux-c7-audiofile, the same with linux-c7-qt-webkit and linux-c7-qtwebkit, but forgot to remove the old ports from the diff.

audio/linux-c7-audiofile/Makefile
1 ↗(On Diff #21118)

Why do you create linux-c7-audiofile port? I've already sent linux-c7-libaudiofile in the previous patches.

audio/linux-c7-libaudiofile/Makefile
1 ↗(On Diff #20808)

Why do you revert my changes and use c6 version?

dns/linux-c7-libasyncns/Makefile
20 ↗(On Diff #20808)

This should be included.

www/linux-c7-qt-webkit/Makefile
1 ↗(On Diff #20808)

Why did you revert the port to its c6 version?

www/linux-c7-qtwebkit/Makefile
1 ↗(On Diff #21118)

Here you create a copy of c7 version of linux-c7-qt-webkit, it doesn't make sense.

This revision now requires changes to proceed.Oct 7 2016, 10:05 AM
xmj added a comment.Oct 7 2016, 11:52 AM

I wish phabricator provided a more sensible way of downloading diffs.

When you've svn cp'd a thing - e.g. linux-c6-sdl12 to linux-c7-sdl20, it's painful to get this right at all.

audio/linux-c7-sdl_mixer/Makefile
21 ↗(On Diff #21118)

Needs to be
USE_LINUX_RPM= nolib,
as EPEL7 doesn't contain i686 archives.

devel/linux-c7-devtools/Makefile
35 ↗(On Diff #21118)

I need

USE_LINUX_RPM_BAD_PERMS= yes

here to be able to extract gcc-4.8.5-7.el7 at all

devel/linux-c7-ncurses-base/Makefile
16 ↗(On Diff #21118)

I need

USE_LINUX_RPM_BAD_PERMS= yes

here to be able to extract ncurses-base at all

tijl added a comment.Oct 7 2016, 3:12 PM

I did not remove .include <bsd.port.mk> anywhere.
I moved libaudiofile to audiofile and qt-webkit to qtwebkit to match the upstream names. I forgot to update the metaport though.
USE_LINUX_RPM=yes works for EPEL7 now because I changed linux.mk to take into account ONLY_FOR_ARCHS.
I don't need USE_LINUX_RPM_BAD_PERMS. What version of FreeBSD are you running?
Here's the list svn cp commands needed to apply the patch:
svn cp accessibility/linux-c6-atk accessibility/linux-c7-atk
svn cp audio/linux-c6-alsa-lib audio/linux-c7-alsa-lib
svn cp audio/linux-c6-alsa-plugins-oss audio/linux-c7-alsa-plugins-oss
svn cp audio/linux-c6-alsa-plugins-pulseaudio audio/linux-c7-alsa-plugins-pulseaudio
svn cp audio/linux-c6-alsa-utils audio/linux-c7-alsa-utils
svn cp audio/linux-c6-esound audio/linux-c7-esound
svn cp audio/linux-c6-flac audio/linux-c7-flac
svn cp audio/linux-c6-libaudiofile audio/linux-c7-audiofile
svn cp audio/linux-c6-libogg audio/linux-c7-libogg
svn cp audio/linux-c6-libsndfile audio/linux-c7-libsndfile
svn cp audio/linux-c6-libvorbis audio/linux-c7-libvorbis
svn cp audio/linux-c6-openal-soft audio/linux-c7-openal-soft
svn cp audio/linux-c6-pulseaudio-libs audio/linux-c7-pulseaudio-libs
svn cp audio/linux-c6-pulseaudio-utils audio/linux-c7-pulseaudio-utils
svn cp audio/linux-c6-sdl_mixer audio/linux-c7-sdl_mixer
svn cp databases/linux-c6-sqlite3 databases/linux-c7-sqlite3
svn cp devel/linux-c6-dbus-glib devel/linux-c7-dbus-glib
svn cp devel/linux-c6-dbus-libs devel/linux-c7-dbus-libs
svn cp devel/linux-c6-devtools devel/linux-c7-devtools
svn cp devel/linux-c6-libgfortran devel/linux-c7-libgfortran
svn cp devel/linux-c6-libglade2 devel/linux-c7-libglade2
svn cp devel/linux-c6-libpciaccess devel/linux-c7-libpciaccess
svn cp devel/linux-c6-libsigc++20 devel/linux-c7-libsigc++20
svn cp devel/linux-c6-libthai devel/linux-c7-libthai
svn cp devel/linux-c6-ncurses-base devel/linux-c7-ncurses-base
svn cp devel/linux-c6-nspr devel/linux-c7-nspr
svn cp devel/linux-c6-qt47 devel/linux-c7-qt
svn cp devel/linux-c6-sdl12 devel/linux-c7-sdl12
svn cp devel/linux-c6-sdl12 devel/linux-c7-sdl20
svn cp dns/linux-c6-libasyncns dns/linux-c7-libasyncns
svn cp emulators/linux-c6 emulators/linux-c7
svn cp ftp/linux-c6-curl ftp/linux-c7-curl
svn cp graphics/linux-c6-cairo graphics/linux-c7-cairo
svn cp graphics/linux-c6-dri graphics/linux-c7-dri
svn cp graphics/linux-c6-gdk-pixbuf2 graphics/linux-c7-gdk-pixbuf2
svn cp graphics/linux-c6-glx-utils graphics/linux-c7-glx-utils
svn cp graphics/linux-c6-jasper graphics/linux-c7-jasper
svn cp graphics/linux-c6-jpeg graphics/linux-c7-jpeg
svn cp graphics/linux-c6-libGLU graphics/linux-c7-libGLU
svn cp graphics/linux-c6-png graphics/linux-c7-png
svn cp graphics/linux-c6-sdl_image graphics/linux-c7-sdl_image
svn cp graphics/linux-c6-sdl_ttf graphics/linux-c7-sdl_ttf
svn cp graphics/linux-c6-tiff graphics/linux-c7-tiff
svn cp lang/linux-c6-tcl85 lang/linux-c7-tcl85
svn cp multimedia/linux-c6-libtheora multimedia/linux-c7-libtheora
svn cp multimedia/linux-c6-libv4l multimedia/linux-c7-libv4l
svn cp net/linux-c6-avahi-libs net/linux-c7-avahi-libs
svn cp net/linux-c6-openldap net/linux-c7-openldap
svn cp net/linux-c6-tcp_wrappers-libs net/linux-c7-tcp_wrappers-libs
svn cp print/linux-c6-cups-libs print/linux-c7-cups-libs
svn cp security/linux-c6-cyrus-sasl2 security/linux-c7-cyrus-sasl2
svn cp security/linux-c6-gnutls security/linux-c7-gnutls
svn cp security/linux-c6-libgcrypt security/linux-c7-libgcrypt
svn cp security/linux-c6-libgpg-error security/linux-c7-libgpg-error
svn cp security/linux-c6-libssh2 security/linux-c7-libssh2
svn cp security/linux-c6-libtasn1 security/linux-c7-libtasn1
svn cp security/linux-c6-nss security/linux-c7-nss
svn cp security/linux-c6-openssl security/linux-c7-openssl
svn cp security/linux-c6-openssl-compat security/linux-c7-openssl-compat
svn cp textproc/linux-c6-aspell textproc/linux-c7-aspell
svn cp textproc/linux-c6-expat textproc/linux-c7-expat
svn cp textproc/linux-c6-libxml2 textproc/linux-c7-libxml2
svn cp www/linux-c6-qt47-webkit www/linux-c7-qtwebkit
svn cp x11-fonts/linux-c6-fontconfig x11-fonts/linux-c7-fontconfig
svn cp x11-themes/linux-c6-hicolor-icon-theme x11-themes/linux-c7-hicolor-icon-theme
svn cp x11-toolkits/linux-c6-gtk2 x11-toolkits/linux-c7-gtk2
svn cp x11-toolkits/linux-c6-openmotif x11-toolkits/linux-c7-openmotif
svn cp x11-toolkits/linux-c6-pango x11-toolkits/linux-c7-pango
svn cp x11-toolkits/linux-c6-qt47-x11 x11-toolkits/linux-c7-qt-x11
svn cp x11-toolkits/linux-c6-tk85 x11-toolkits/linux-c7-tk85
svn cp x11/linux-c6-pixman x11/linux-c7-pixman
svn cp x11/linux-c6-xorg-libs x11/linux-c7-xorg-libs

xmj added a comment.EditedOct 7 2016, 3:33 PM
In D7886#169673, @tijl wrote:

I don't need USE_LINUX_RPM_BAD_PERMS. What version of FreeBSD are you running?

12.0-CURRENT as of today, but I've seen problems like this since I've tried out this patch (which was three weeks ago ish, with a then-recent build)

There were a few libarchive changes to head, maybe related.

This revision was automatically updated to reflect the committed changes.