Skip to main content

Build Wine rpm with 32 bit application support

Wine is a software to allow running Windows applications in Linux, MAC etc. platforms. It is available for installation from package managers like yum (RHEL, CentOS) and apt (Ubuntu). You can find more details on how it works in Wine wiki.

But the default Wine package available from package manager does not have support for 32 bit Windows applications. This was the case for me. In Redhat Enterprise Linux 7.3, the wine package did not contain support for 32 bit windows applications. So the only option was to build a separate rpm of wine which will include this support.

All the steps are executed on a RHEL 7.3 VM (x86_64).

Step 1
Download and run shell script which will make wine 64 and 32 support for RHEL: https://github.com/zma/usefulscripts/blob/master/script/install-wine-i686-centos7.sh It accepts a version no. as CLI parameter e.g. 2.0.3

The script installs wine in /usr/local/ directory by default. We can verify the files that are being copied for wine using "cd /usr/src/wine-2.0.…

A simple REST based web service

REST stands for Representational State Transfer. Roy Fielding, the father of HTTP protocol, had coined the term in his doctoral thesis. REST is not a software, rather it is a concept or an architecture. The biggest use of REST architecture is in WWW (World Wide Web). The services that conforms to REST standard are termed as RESTful services.

REST based services contain a client and a server. The server contains resources that can be represented by various states. A client initiates the request to server when it is ready to transition it's state. The server responds with the required state.

The REST based web service is quite popular now. This type of web service is called RESTful web service. In RESTful web service we represent a service by an URI. Common HTTP methods are used to request for a specific state transfer.


CreatePUT
UpdatePOST
ReadGET
RemoveDELETE

I have used an open source java library called Jersey for creating this simple RESTful web service. Jersey is a production quality JAX-RS (JSR311) implementation. The jars from Jersey distribution need to be added to the WEB_INF/lib directory of your web application. Below is the code for a hello service - Here the service URI will be <web application URL>/hello as defined by the Path annotation. The GET annotation marks the service to be called on a HTTP GET request from client. The Produces annotation filters the accept type header in the request to match the correct state to be returned. It takes care of the content that is returned.

There is one more way to make the same web service. This time I'll only use URI as a representation differentiation. Below is the code- To get a HTML output the client has to make a GET request with <web application URL>/hellowithpath/html URI. Here I have only used the Path annotation.

One more thing remaining is, adding a servlet mapping in the web.xml file of the web application. Add the below mapping-


Once you deploy the web application in a server the RESTful services will be started. They can be tested using a browser or a http client program.

Comments