Macport RPM macros settings - macos

I installed Macport on my Mac for using RPM. After successful installation (I think), "rpmbuild" and "rpm" command is accessible. But rpmbuild always failed.
I checked "rpm --showrc" and noticed that there are a lot of macros are missing. For example, %__spec_prep_cmd, %__spec_prep_post, %__spec_prep_template. Therefore I have to define all these macros in /opt/local/lib/rpm/macros.
Can someone help me why is that? Do I miss some steps during Macport installation?
Here is my installation steps:
Download OS X 10.8 Mountain Lion version: MacPorts-2.3.1-10.8-MountainLion.pkg
sudo port -v selfupdate
port search rpm
port install rpm54

Edit the default macros file (likely in /opt/local/lib/rpm/macros)
to load (at least) macros.rpmbuild by uncommenting the line that
looks like:
...
#==============================================================================
# ---- rpmbuild macros.
#%%{load:%{_usrlibrpm}/macros.rpmbuild}
...
Remove the leading "#%"

Related

Getting an error, Port gmake not found, while trying to setup for AOSP build environment

I'm following an instruction from https://source.android.com/setup/build/initializing to build the environment.
I'm at the section Installing the JDK where I have to install gmake, libsdl, git, and gnupg using MacPort.
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
But I'm getting an error, Error: Port gmake not found.
I'm using macOS Sierra.
Any solution to this?
I assume you followed the installation instructions from:
https://www.macports.org/install.php
Note that you ought to have run sudo port -v selfupdate to update your local copy of the port tree.
Try the port diagnose command to see if it detects any of the more commonly encountered problems.

Why can't I setup an SSHFS share? “OSXFUSE file system is not available” error

I'm trying to setup an SSHFS share from my local machine to a remote machine, but it is not working. I'm getting the error OSXFUSE file system is not available (see below). How to fix this??
FYI, my local machine is a MacBook Pro laptop running OSX 10.9.3. The remote machine is actually a VirtualBox on the same hardware running CentOS.
% brew install sshfs # <---- SSHFS is installed
Warning: sshfs-2.5.0 already installed
% brew install osxfuse # <---- OSX Fuse is installed
Warning: osxfuse-2.6.4 already installed
% ssh remote_user#XXX.XXX.XXX.XXX # <---- See, SSH works!!
Last login: Wed Jun 18 18:36:11 2014 from XXX.XXX.XXX.XXX
[remote_user#XXX.XXX.XXX.XXX ~]% exit
% sudo mkdir /mnt
% sudo mkdir /mnt/Share
% sudo sshfs -o IdentityFile=~/.ssh/id_rsa.pub remote_user#XXX.XXX.XXX.XXX:/ /mnt/Share
the OSXFUSE file system is not available (-1)
the OSXFUSE file system is not available (1)
I tried solution described here. But it didn't work for me:
% sudo kextunload -b com.github.osxfuse.filesystems.osxfusefs
(kernel) Kext com.github.osxfuse.filesystems.osxfusefs not found for unload request.
Failed to unload com.github.osxfuse.filesystems.osxfusefs - (libkern/kext) not found.
If you run brew info osxfuse and follow the instructions to the letter, I believe it would work.
From what You described, you just tried unloading the (possible) previous kernel extension, but did not complete the last important step to actually install the new extension.
This is what brew info osxfuse tells me:
If upgrading from a previous version of osxfuse, the previous kernel extension
will need to be unloaded before installing the new version. First, check that
no FUSE-based file systems are running:
mount -t osxfusefs
Unmount all FUSE file systems and then unload the kernel extension:
sudo kextunload -b com.github.osxfuse.filesystems.osxfusefs
The new osxfuse file system bundle needs to be installed by the root user:
sudo /bin/cp -RfX /usr/local/opt/osxfuse/Library/Filesystems/osxfusefs.fs /Library/Filesystems
sudo chmod +s /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs
There appears to be a problem loading the KEXT installed by the regular osxfuse Homebrew package. You can use brew cask to install the official FUSE for OS X build from their own DMG:
brew rm osxfuse
brew install caskroom/cask/brew-cask
brew cask install osxfuse
SSHFS itself is also available as a Cask package, though on my system mixing osxfuse from Cask with plain sshfs binary bottle works just fine.
The downside to this approach is that brew upgrade or brew outdated will no longer be able to update FUSE for OS X as brew cask is not version-aware for now.
I have observed that OSXFUSE is a bit tricky, though I don't know exactly why, and brew tries to avoid changing the system, so using it to manage kernel extensions is not a good idea. I suggest using the packaged installers for OSXFUSE and SSHFS from http://osxfuse.github.io/ instead of using brew.
Open System Preferences, choose FUSE, then update to the latest version. Thats what worked for me.
The problem when installing SSHFS with brew is that osxfusefs is not signed: the Console outputs com.apple.kextd: ERROR: invalid signature for com.github.osxfuse.filesystems.osxfusefs, will not load. See also https://github.com/osxfuse/osxfuse/issues/122.
The binary for OSXFUSE from http://osxfuse.github.io/ (as suggested by the answer of Old Pro) does not have this problem, and therefore installing this one instead resolved it for me.

where are MacPorts binary files?

I am trying to use the ant rpm task to build a Linux installer on Mac OSX.
I installed MacPorts and compiled rpm which now works from the command line.
However, I would like it to work with ant (from inside Eclipse), but ant cannot find any rpm executable. In fact, whereis rpm does not find it either. Confused..
I also tried to create a separate rpm binary installer using macports (sudo port pkg rpm), but after installing that one nothing changed.
Where is the rpm binary?
MacPorts binaries can be found in /opt/local/bin.
According to the man page, whereis only searches directories contained in the user.cs_path sysctl variable (at least on OS X). This value defaults to /usr/bin:/bin:/usr/sbin:/sbin on my machine.

Perl & CPAN upgrade help for OS X

Here is my problem. I am running OS X v10.7 (Lion) and want to set up an old Perl program I have written (was then using a Windows System with ActivePerl and then its ppm).
I read to use CPAN to install Perl modules (I am trying to install the Graph module). Whenever I tried to install it, it failed from a refused connection. Why? So I read that I should run the following to update CPAN and fix any broken links:
cpan> install Bundle:CPAN
cpan> reload cpan
cpan> index cpan
cpan> exit
However, after doing this I am stuck with this every time I try to do a CPAN install or upgrade:
New CPAN.pm version (v1.9800) available.
[Currently running version is v1.9456]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.
I was trying to use the default Perl stuff that is included in OS X rather than downloading ActivePerl. How do I fix CPAN and install the Graph Module?
PS: Running install CPAN and reload CPAN didn't do anything, but it generated the same message.
UPDATE
I was able to upgrade to v1.9800 doing a manual install (make, install) through the terminal. But I am still unable to install the Graph Module. Here is what I am getting:
http://cloud.jjnford.com/3D1C1H4217222b1p1O3a
UPDATE - PROBLEM SOLVED
I was finally able to solve the problem. I just moved the /User/jj/.cpan directory to User/jj/.cpan_bak and then reconfigured CPAN and the Graph Module installed with no fuss.
To solve this problem, do a manual upgrade of CPAN (apparently on OS X CPAN has trouble upgrading itself). You can download the source from here. After you have downloaded it uncompress it, create the make file from the Perl script, then run a make test, and finally if all goes well a make install.
$> tar -xvxf CPAN-1.9800
$> cd CPAN-1.9800
$> perl Makefile.PL
$> make
$> make test
$> make install
Now get rid of your old CPAN configuration:
$> mv ~/.cpan ~/.cpan.bak
Now when you run CPAN from the terminal you should be prompted for the configuration again. Once this is complete and CPAN has started you will notice this:
cpan shell -- CPAN exploration and modules installation (v1.9800)
So CPAN is now upgraded and working, and in my case I installed the Graph Module:
$cpan> install Graph
And everything works fine. I hope this helps somebody.
I have a fresh Mac OS X Lion and I updated CPAN without problems.
Installing XCode is not enough. Make, gcc, g++ are not installed by default.
To install them, one has to:
Start XCode, go to XCode->Preferences->Downloads and install component named "Command Line Tools".
I know this was solved, but do consider using "cpanminus" instead next time. It's faster and could save you a lot of hassle. You can either install App:cpanminus using cpanminus (see: App::cpanminus):
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
And then to install any module and its dependencies simply run:
cpanm <module>
Alternatively you could use it directly from the web:
curl -L http://cpanmin.us | perl - --sudo <module>
I use it on my OS X Lion, and it works perfectly :)
Please excuse me for replying to this old post.
I had the same issue as the OP. Once I corrected the command to contain two colons instead of one (i.e. - Bundle::CPAN vs Bundle:CPAN), it worked as expected.

How to create .deb packages on Mac OS X

I am trying to upload my app on Cydia and it requires .deb package. I am unable to figure out how to make .deb packages on mac. I am using 10.6.3 when I write this command on terminal
dpkg-deb -b MyProgram
Terminal output is
-bash: dpkg-deb: command not found
I've install fink, Mac ports insert Mac DVD to find out but nothing helps.
It's available on Homebrew:
brew install dpkg
If you don't have Homebrew installed, go to brew.sh. It's a simple one-liner to install.
Homebrew is less invasive, less complicated, and more popular than Macports or similar.
I installed mac ports 1.7 through terminal as no package is available.
After that I installed Mac ports 1.9 through installer.
Then goto this path /opt/local/bin and run sudo port selfupdate
after that execute sudo port install dpkg
it will take some time and after that your dpkg is successfully configured.
Run this command sudo dpkg-deb -b MyProgram to make MyProgram.deb
Note MyProgram should contain DEBIAN folder and under that control file remove txt extention
Below is control file
Website: www.zeeshanullah.com
Maintainer: zeeshanullah <zzeeshann#gmail.com>
Name: Snapture
Package: zeeshanullah
Section: zeeshanullah
Version: 2.x.x
Architecture: iphoneos-arm
Description: GPS joke.
Sponsor: zeeshanullah.com <zeeshanullah>
dont forget to place a new line at the end of control file otherwise you will get an error.
You need Xcode installed on your system before using mac ports - you find it on the second mac DVD, I think. After that, you can install mac ports and then via the Terminal type "sudo port install dpkg", press return and enter your password. It may take some time to compile. You tried that?
Best option is to use FPM and you can create it in 50 secs:
fpm
i think these links can be useful for you:
How to make a deb on mac
Using ant to create deb

Resources